Commit cad3b24
patch 9.1.1600: using diff anchors with hidden buffers fails silently
Problem: diff: using diff anchors with hidden buffers fails silently
Solution: Give specific error message for diff anchors when using hidden
buffers (Yee Cheng Chin).
Diff anchors currently will fail to parse if a buffer used for diff'ing
is hidden. Previously it would just fail as the code assumes it would
not happen normally, but this is actually possible to do if `closeoff`
and `hideoff` are not set in diffopt. Git's default diff tool "vimdiff3"
also takes advantage of this.
This fix this properly would require the `{address}` parser to be
smarter about whether a particular address relies on window position or
not (e.g. the `'.` address requires an active window, but `'a` or `1234`
do not). Since hidden diff buffers seem relatively niche, just provide a
better error message / documentation for now. This could be improved
later if there's a demand for it.
related: #17615
closes: #17904
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>1 parent 589aa28 commit cad3b24
7 files changed
Lines changed: 27 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
3016 | 3016 | | |
3017 | 3017 | | |
3018 | 3018 | | |
| 3019 | + | |
| 3020 | + | |
3019 | 3021 | | |
3020 | 3022 | | |
3021 | 3023 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4694 | 4694 | | |
4695 | 4695 | | |
4696 | 4696 | | |
| 4697 | + | |
4697 | 4698 | | |
4698 | 4699 | | |
4699 | 4700 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2768 | 2768 | | |
2769 | 2769 | | |
2770 | 2770 | | |
2771 | | - | |
2772 | | - | |
| 2771 | + | |
| 2772 | + | |
| 2773 | + | |
| 2774 | + | |
| 2775 | + | |
| 2776 | + | |
| 2777 | + | |
| 2778 | + | |
| 2779 | + | |
2773 | 2780 | | |
2774 | 2781 | | |
2775 | 2782 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3778 | 3778 | | |
3779 | 3779 | | |
3780 | 3780 | | |
| 3781 | + | |
| 3782 | + | |
| 3783 | + | |
| 3784 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3483 | 3483 | | |
3484 | 3484 | | |
3485 | 3485 | | |
| 3486 | + | |
| 3487 | + | |
| 3488 | + | |
| 3489 | + | |
3486 | 3490 | | |
3487 | 3491 | | |
3488 | 3492 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
719 | 719 | | |
720 | 720 | | |
721 | 721 | | |
| 722 | + | |
| 723 | + | |
722 | 724 | | |
723 | 725 | | |
724 | 726 | | |
| |||
0 commit comments