From: Bram Moolenaar Date: Sun, 19 Feb 2023 14:34:37 +0000 (+0000) Subject: patch 9.0.1326: relative line number not updated with virtual text above X-Git-Tag: v9.0.1326 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a572b936ce7bbaf630b22a32c039738a783cdf41;p=thirdparty%2Fvim.git patch 9.0.1326: relative line number not updated with virtual text above Problem: Relative line number not updated with virtual text above. Solution: Adjust the row for the line number for virtual text above. (closes #12004) --- diff --git a/src/drawline.c b/src/drawline.c index 74c736c24d..5fe25f554f 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 0000000000..cc3c27d0f5 --- /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 0000000000..5ee4d80767 --- /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 158896f612..3bd08fe4d7 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, ":\") call VerifyScreenDump(buf, 'Test_prop_above_below_empty_3', {}) + call term_sendkeys(buf, ":set colorcolumn=\") + call term_sendkeys(buf, ":set relativenumber\") + call term_sendkeys(buf, ":\") + 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 10b38d44ac..53452bfbe7 100644 --- a/src/version.c +++ b/src/version.c @@ -695,6 +695,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1326, /**/ 1325, /**/