To: vim_dev@googlegroups.com Subject: Patch 9.0.0143 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.0143 Problem: Cursor positioned after virtual text in empty line. Solution: Keep cursor in the first column. (closes #10786) Files: src/charset.c, src/testdir/test_textprop.vim, src/testdir/dumps/Test_prop_inserts_text_1.dump, src/testdir/dumps/Test_prop_inserts_text_2.dump, src/testdir/dumps/Test_prop_inserts_text_3.dump, src/testdir/dumps/Test_prop_inserts_text_4.dump *** ../vim-9.0.0142/src/charset.c 2022-08-05 11:45:13.846878240 +0100 --- src/charset.c 2022-08-05 13:06:23.587455338 +0100 *************** *** 1127,1133 **** size = win_chartabsize(wp, s, vcol); # ifdef FEAT_PROP_POPUP ! if (cts->cts_has_prop_with_text) { int i; int col = (int)(s - line); --- 1127,1133 ---- size = win_chartabsize(wp, s, vcol); # ifdef FEAT_PROP_POPUP ! if (cts->cts_has_prop_with_text && *line != NUL) { int i; int col = (int)(s - line); *** ../vim-9.0.0142/src/testdir/test_textprop.vim 2022-08-04 15:03:16.253142105 +0100 --- src/testdir/test_textprop.vim 2022-08-05 13:02:49.980154222 +0100 *************** *** 2221,2226 **** --- 2221,2229 ---- call setline(2, 'prepost') call prop_type_add('multibyte', #{highlight: 'Visual'}) call prop_add(2, 4, #{type: 'multibyte', text: 'söme和平téxt'}) + + call setline(3, '') + call prop_add(3, 1, #{type: 'someprop', text: 'empty line'}) END call writefile(lines, 'XscriptPropsWithText') let buf = RunVimInTerminal('-S XscriptPropsWithText', #{rows: 6, cols: 60}) *************** *** 2229,2234 **** --- 2232,2243 ---- call term_sendkeys(buf, ":set signcolumn=yes\") call VerifyScreenDump(buf, 'Test_prop_inserts_text_2', {}) + call term_sendkeys(buf, "2G$") + call VerifyScreenDump(buf, 'Test_prop_inserts_text_3', {}) + + call term_sendkeys(buf, "3G") + call VerifyScreenDump(buf, 'Test_prop_inserts_text_4', {}) + call StopVimInTerminal(buf) call delete('XscriptPropsWithText') endfunc *** ../vim-9.0.0142/src/testdir/dumps/Test_prop_inserts_text_1.dump 2022-08-01 16:50:58.869575285 +0100 --- src/testdir/dumps/Test_prop_inserts_text_1.dump 2022-08-05 13:03:23.412044700 +0100 *************** *** 1,6 **** |i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d| |s|o |m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @27 |p|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @40 |~+0#4040ff13&| @58 - |~| @58 | +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1| --- 1,6 ---- |i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d| |s|o |m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @27 |p|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @40 + |e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@49 |~+0#4040ff13&| @58 | +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1| *** ../vim-9.0.0142/src/testdir/dumps/Test_prop_inserts_text_2.dump 2022-08-01 16:50:58.869575285 +0100 --- src/testdir/dumps/Test_prop_inserts_text_2.dump 2022-08-05 13:03:24.472041228 +0100 *************** *** 1,6 **** | +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d| | +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @23 | +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38 |~+0#4040ff13&| @58 - |~| @58 | +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1| --- 1,6 ---- | +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d| | +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @23 | +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38 + | +0#0000e05#a8a8a8255@1|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47 |~+0#4040ff13&| @58 | +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1| *** ../vim-9.0.0142/src/testdir/dumps/Test_prop_inserts_text_3.dump 2022-08-05 13:06:39.571403119 +0100 --- src/testdir/dumps/Test_prop_inserts_text_3.dump 2022-08-05 13:03:25.536037743 +0100 *************** *** 0 **** --- 1,6 ---- + | +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d| + | +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n|g| @23 + | +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s>t| @38 + | +0#0000e05#a8a8a8255@1|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47 + |~+0#4040ff13&| @58 + | +0#0000000&@41|2|,|7|-|1|9| @7|A|l@1| *** ../vim-9.0.0142/src/testdir/dumps/Test_prop_inserts_text_4.dump 2022-08-05 13:06:39.575403104 +0100 --- src/testdir/dumps/Test_prop_inserts_text_4.dump 2022-08-05 13:03:26.684033982 +0100 *************** *** 0 **** --- 1,6 ---- + | +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d| + | +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n|g| @23 + | +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38 + | +0#0000e05#a8a8a8255@1>e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47 + |~+0#4040ff13&| @58 + | +0#0000000&@41|3|,|0|-|1| @8|A|l@1| *** ../vim-9.0.0142/src/version.c 2022-08-05 11:45:13.846878240 +0100 --- src/version.c 2022-08-05 13:03:18.884059530 +0100 *************** *** 737,738 **** --- 737,740 ---- { /* Add new patch number below this line */ + /**/ + 143, /**/ -- If you're sending someone Styrofoam, what do you pack it in? /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///