diff options
author | Bram Moolenaar <Bram@vim.org> | 2023-02-19 14:34:37 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-02-19 14:34:37 +0000 |
commit | a572b936ce7bbaf630b22a32c039738a783cdf41 (patch) | |
tree | 2c9c827718225f31e165149857858278069cb77b | |
parent | f53e065bce1adff4bff202ed3ba9982ece90b745 (diff) | |
download | vim-git-a572b936ce7bbaf630b22a32c039738a783cdf41.tar.gz |
patch 9.0.1326: relative line number not updated with virtual text abovev9.0.1326
Problem: Relative line number not updated with virtual text above.
Solution: Adjust the row for the line number for virtual text above.
(closes #12004)
-rw-r--r-- | src/drawline.c | 9 | ||||
-rw-r--r-- | src/testdir/dumps/Test_prop_above_below_empty_4.dump | 16 | ||||
-rw-r--r-- | src/testdir/dumps/Test_prop_above_below_empty_5.dump | 16 | ||||
-rw-r--r-- | src/testdir/test_textprop.vim | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 51 insertions, 0 deletions
diff --git a/src/drawline.c b/src/drawline.c index 74c736c24..5fe25f554 100644 --- a/src/drawline.c +++ b/src/drawline.c @@ -1598,6 +1598,15 @@ win_line( } } } + + if (number_only) + { + // skip over rows only used for virtual text above + wlv.row += wlv.text_prop_above_count; + if (wlv.row > endrow) + return wlv.row; + wlv.screen_row += wlv.text_prop_above_count; + } #endif // 'nowrap' or 'wrap' and a single line that doesn't fit: Advance to the diff --git a/src/testdir/dumps/Test_prop_above_below_empty_4.dump b/src/testdir/dumps/Test_prop_above_below_empty_4.dump new file mode 100644 index 000000000..cc3c27d0f --- /dev/null +++ b/src/testdir/dumps/Test_prop_above_below_empty_4.dump @@ -0,0 +1,16 @@ +| +0#af5f00255#ffffff0@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@1|4| |1+0#0000000&@7| @47 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@1|3| | +0#0000000&@55 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@1|2| |3+0#0000000&@8| @46 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@1|1| | +0#0000000&@55 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +|5+0#af5f00255&| @2>5+0#0000000&@10| @44 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +|:| @40|5|,|1|-|5|7| @7|A|l@1| diff --git a/src/testdir/dumps/Test_prop_above_below_empty_5.dump b/src/testdir/dumps/Test_prop_above_below_empty_5.dump new file mode 100644 index 000000000..5ee4d8076 --- /dev/null +++ b/src/testdir/dumps/Test_prop_above_below_empty_5.dump @@ -0,0 +1,16 @@ +| +0#af5f00255#ffffff0@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@1|2| |1+0#0000000&@7| @47 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@1|1| | +0#0000000&@55 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +|3+0#af5f00255&| @2>3+0#0000000&@8| @46 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@1|1| | +0#0000000&@55 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +| +0#af5f00255&@1|2| |5+0#0000000&@10| @44 +| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52 +|:| @40|3|,|1|-|5|7| @7|A|l@1| diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim index 158896f61..3bd08fe4d 100644 --- a/src/testdir/test_textprop.vim +++ b/src/testdir/test_textprop.vim @@ -2806,6 +2806,14 @@ func Test_prop_with_text_above_below_empty() call term_sendkeys(buf, ":\<CR>") call VerifyScreenDump(buf, 'Test_prop_above_below_empty_3', {}) + call term_sendkeys(buf, ":set colorcolumn=\<CR>") + call term_sendkeys(buf, ":set relativenumber\<CR>") + call term_sendkeys(buf, ":\<CR>") + call VerifyScreenDump(buf, 'Test_prop_above_below_empty_4', {}) + + call term_sendkeys(buf, "kk") + call VerifyScreenDump(buf, 'Test_prop_above_below_empty_5', {}) + call StopVimInTerminal(buf) endfunc diff --git a/src/version.c b/src/version.c index 10b38d44a..53452bfbe 100644 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1326, +/**/ 1325, /**/ 1324, |