To: vim_dev@googlegroups.com Subject: Patch 9.0.0515 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.0515 Problem: Virtual text highlight starts too early when 'number' is set. Solution: Set column offset when wrapping. (issue #11138) Files: src/drawline.c, src/testdir/test_textprop.vim, src/testdir/dumps/Test_prop_below_split_line_1.dump, src/testdir/dumps/Test_prop_below_split_line_2.dump *** ../vim-9.0.0514/src/drawline.c 2022-09-15 19:43:48.908462529 +0100 --- src/drawline.c 2022-09-20 15:50:43.276005778 +0100 *************** *** 376,381 **** --- 376,384 ---- else before = 0; } + else if (below && before > 0) + // include 'number' column et al. + col_off = win_col_off(wp) + win_col_off2(wp); } // With 'nowrap' add one to show the "extends" character if needed (it *** ../vim-9.0.0514/src/testdir/test_textprop.vim 2022-09-17 18:57:32.504190040 +0100 --- src/testdir/test_textprop.vim 2022-09-20 15:58:08.534968644 +0100 *************** *** 1231,1243 **** \ "normal 6G0i\\", \ "normal 3J", \ "normal 3G", ! \], 'XtestProp') let buf = RunVimInTerminal('-S XtestProp', {'rows': 8}) call VerifyScreenDump(buf, 'Test_textprop_01', {}) " clean up call StopVimInTerminal(buf) - call delete('XtestProp') endfunc func Test_textprop_hl_override() --- 1231,1242 ---- \ "normal 6G0i\\", \ "normal 3J", \ "normal 3G", ! \], 'XtestProp', 'D') let buf = RunVimInTerminal('-S XtestProp', {'rows': 8}) call VerifyScreenDump(buf, 'Test_textprop_01', {}) " clean up call StopVimInTerminal(buf) endfunc func Test_textprop_hl_override() *************** *** 1259,1265 **** set cursorline 2 END ! call writefile(lines, 'XtestOverProp') let buf = RunVimInTerminal('-S XtestOverProp', {'rows': 8}) call VerifyScreenDump(buf, 'Test_textprop_hl_override_1', {}) --- 1258,1264 ---- set cursorline 2 END ! call writefile(lines, 'XtestOverProp', 'D') let buf = RunVimInTerminal('-S XtestOverProp', {'rows': 8}) call VerifyScreenDump(buf, 'Test_textprop_hl_override_1', {}) *************** *** 1269,1275 **** " clean up call StopVimInTerminal(buf) - call delete('XtestOverProp') endfunc func RunTestVisualBlock(width, dump) --- 1268,1273 ---- *************** *** 1299,1311 **** \ "call prop_add(9, 3, {'length': 3, 'type': 'search'})", \ "call prop_add(10, 2, {'length': 3, 'type': 'search'})", \ "normal 1G6|\" .. repeat('l', a:width - 1) .. "10jx", ! \], 'XtestPropVis') let buf = RunVimInTerminal('-S XtestPropVis', {'rows': 12}) call VerifyScreenDump(buf, 'Test_textprop_vis_' .. a:dump, {}) " clean up call StopVimInTerminal(buf) - call delete('XtestPropVis') endfunc " screenshot test with Visual block mode operations --- 1297,1308 ---- \ "call prop_add(9, 3, {'length': 3, 'type': 'search'})", \ "call prop_add(10, 2, {'length': 3, 'type': 'search'})", \ "normal 1G6|\" .. repeat('l', a:width - 1) .. "10jx", ! \], 'XtestPropVis', 'D') let buf = RunVimInTerminal('-S XtestPropVis', {'rows': 12}) call VerifyScreenDump(buf, 'Test_textprop_vis_' .. a:dump, {}) " clean up call StopVimInTerminal(buf) endfunc " screenshot test with Visual block mode operations *************** *** 1332,1344 **** call prop_add(1, 2, {'length': 3, 'type': 'search'}) call prop_add(2, 3, {'length': 3, 'type': 'search'}) END ! call writefile(lines, 'XtestPropTab') let buf = RunVimInTerminal('-S XtestPropTab', {'rows': 6}) call VerifyScreenDump(buf, 'Test_textprop_tab', {}) " clean up call StopVimInTerminal(buf) - call delete('XtestPropTab') endfunc func Test_textprop_nowrap_scrolled() --- 1329,1340 ---- call prop_add(1, 2, {'length': 3, 'type': 'search'}) call prop_add(2, 3, {'length': 3, 'type': 'search'}) END ! call writefile(lines, 'XtestPropTab', 'D') let buf = RunVimInTerminal('-S XtestPropTab', {'rows': 6}) call VerifyScreenDump(buf, 'Test_textprop_tab', {}) " clean up call StopVimInTerminal(buf) endfunc func Test_textprop_nowrap_scrolled() *************** *** 1353,1359 **** prop_add(1, 32, {'length': 4, 'type': 'number'}) feedkeys('gg20zl', 'nxt') END ! call writefile(lines, 'XtestNowrap') let buf = RunVimInTerminal('-S XtestNowrap', {'rows': 6}) call VerifyScreenDump(buf, 'Test_textprop_nowrap_01', {}) --- 1349,1355 ---- prop_add(1, 32, {'length': 4, 'type': 'number'}) feedkeys('gg20zl', 'nxt') END ! call writefile(lines, 'XtestNowrap', 'D') let buf = RunVimInTerminal('-S XtestNowrap', {'rows': 6}) call VerifyScreenDump(buf, 'Test_textprop_nowrap_01', {}) *************** *** 1362,1368 **** " clean up call StopVimInTerminal(buf) - call delete('XtestNowrap') endfunc func Test_textprop_text_priority() --- 1358,1363 ---- *************** *** 1383,1395 **** call prop_add(1, 17, #{type: 'two', text: 'two: '}) call prop_add(1, 17, #{type: 'arg', length: len('argument')}) END ! call writefile(lines, 'XtestPropPrio') let buf = RunVimInTerminal('-S XtestPropPrio', {'rows': 5}) call VerifyScreenDump(buf, 'Test_prop_at_same_pos', {}) " clean up call StopVimInTerminal(buf) - call delete('XtestPropPrio') endfunc func Test_textprop_with_syntax() --- 1378,1389 ---- call prop_add(1, 17, #{type: 'two', text: 'two: '}) call prop_add(1, 17, #{type: 'arg', length: len('argument')}) END ! call writefile(lines, 'XtestPropPrio', 'D') let buf = RunVimInTerminal('-S XtestPropPrio', {'rows': 5}) call VerifyScreenDump(buf, 'Test_prop_at_same_pos', {}) " clean up call StopVimInTerminal(buf) endfunc func Test_textprop_with_syntax() *************** *** 1405,1417 **** call prop_type_add('TPTitle', #{ highlight: 'Title' }) call prop_add(1, 2, #{type: 'TPTitle', end_col: 5}) END ! call writefile(lines, 'XtestPropSyn') let buf = RunVimInTerminal('-S XtestPropSyn', {'rows': 6}) call VerifyScreenDump(buf, 'Test_textprop_syn_1', {}) " clean up call StopVimInTerminal(buf) - call delete('XtestPropSyn') endfunc " Adding a text property to a new buffer should not fail --- 1399,1410 ---- call prop_type_add('TPTitle', #{ highlight: 'Title' }) call prop_add(1, 2, #{type: 'TPTitle', end_col: 5}) END ! call writefile(lines, 'XtestPropSyn', 'D') let buf = RunVimInTerminal('-S XtestPropSyn', {'rows': 6}) call VerifyScreenDump(buf, 'Test_textprop_syn_1', {}) " clean up call StopVimInTerminal(buf) endfunc " Adding a text property to a new buffer should not fail *************** *** 1934,1940 **** set signcolumn=yes endfunc END ! call writefile(lines, 'XscriptPropLinebreak') let buf = RunVimInTerminal('-S XscriptPropLinebreak', #{rows: 10}) call VerifyScreenDump(buf, 'Test_prop_linebreak_1', {}) --- 1927,1933 ---- set signcolumn=yes endfunc END ! call writefile(lines, 'XscriptPropLinebreak', 'D') let buf = RunVimInTerminal('-S XscriptPropLinebreak', #{rows: 10}) call VerifyScreenDump(buf, 'Test_prop_linebreak_1', {}) *************** *** 1942,1948 **** call VerifyScreenDump(buf, 'Test_prop_linebreak_2', {}) call StopVimInTerminal(buf) - call delete('XscriptPropLinebreak') endfunc func Test_prop_with_linebreak() --- 1935,1940 ---- *************** *** 1955,1968 **** prop_type_add('test', {highlight: 'Special'}) prop_add(1, 4, {text: ': virtual text', type: 'test', text_wrap: 'wrap'}) END ! call writefile(lines, 'XscriptPropWithLinebreak') let buf = RunVimInTerminal('-S XscriptPropWithLinebreak', #{rows: 6, cols: 50}) call VerifyScreenDump(buf, 'Test_prop_with_linebreak_1', {}) call term_sendkeys(buf, "iasdf asdf asdf asdf asdf as\") call VerifyScreenDump(buf, 'Test_prop_with_linebreak_2', {}) call StopVimInTerminal(buf) - call delete('XscriptPropWithLinebreak') endfunc func Test_prop_with_wrap() --- 1947,1959 ---- prop_type_add('test', {highlight: 'Special'}) prop_add(1, 4, {text: ': virtual text', type: 'test', text_wrap: 'wrap'}) END ! call writefile(lines, 'XscriptPropWithLinebreak', 'D') let buf = RunVimInTerminal('-S XscriptPropWithLinebreak', #{rows: 6, cols: 50}) call VerifyScreenDump(buf, 'Test_prop_with_linebreak_1', {}) call term_sendkeys(buf, "iasdf asdf asdf asdf asdf as\") call VerifyScreenDump(buf, 'Test_prop_with_linebreak_2', {}) call StopVimInTerminal(buf) endfunc func Test_prop_with_wrap() *************** *** 1975,1986 **** prop_type_add('test', {highlight: 'Special'}) prop_add(1, 43, {text: 'some virtual text', type: 'test'}) END ! call writefile(lines, 'XscriptPropWithWrap') let buf = RunVimInTerminal('-S XscriptPropWithWrap', #{rows: 6, cols: 50}) call VerifyScreenDump(buf, 'Test_prop_with_wrap_1', {}) call StopVimInTerminal(buf) - call delete('XscriptPropWithWrap') endfunc func Test_prop_after_tab() --- 1966,1976 ---- prop_type_add('test', {highlight: 'Special'}) prop_add(1, 43, {text: 'some virtual text', type: 'test'}) END ! call writefile(lines, 'XscriptPropWithWrap', 'D') let buf = RunVimInTerminal('-S XscriptPropWithWrap', #{rows: 6, cols: 50}) call VerifyScreenDump(buf, 'Test_prop_with_wrap_1', {}) call StopVimInTerminal(buf) endfunc func Test_prop_after_tab() *************** *** 1992,2003 **** call prop_type_add('test', #{highlight: 'ErrorMsg'}) call prop_add(1, 2, #{length: 1, type: 'test'}) END ! call writefile(lines, 'XscriptPropAfterTab') let buf = RunVimInTerminal('-S XscriptPropAfterTab', #{rows: 10}) call VerifyScreenDump(buf, 'Test_prop_after_tab', {}) call StopVimInTerminal(buf) - call delete('XscriptPropAfterTab') endfunc func Test_prop_before_tab() --- 1982,1992 ---- call prop_type_add('test', #{highlight: 'ErrorMsg'}) call prop_add(1, 2, #{length: 1, type: 'test'}) END ! call writefile(lines, 'XscriptPropAfterTab', 'D') let buf = RunVimInTerminal('-S XscriptPropAfterTab', #{rows: 10}) call VerifyScreenDump(buf, 'Test_prop_after_tab', {}) call StopVimInTerminal(buf) endfunc func Test_prop_before_tab() *************** *** 2014,2020 **** call prop_add(6, 3, #{type: 'test', text: 'ABC'}) normal gg0 END ! call writefile(lines, 'XscriptPropBeforeTab') let buf = RunVimInTerminal('-S XscriptPropBeforeTab', #{rows: 8}) call VerifyScreenDump(buf, 'Test_prop_before_tab_01', {}) call term_sendkeys(buf, "$") --- 2003,2009 ---- call prop_add(6, 3, #{type: 'test', text: 'ABC'}) normal gg0 END ! call writefile(lines, 'XscriptPropBeforeTab', 'D') let buf = RunVimInTerminal('-S XscriptPropBeforeTab', #{rows: 8}) call VerifyScreenDump(buf, 'Test_prop_before_tab_01', {}) call term_sendkeys(buf, "$") *************** *** 2037,2043 **** call VerifyScreenDump(buf, 'Test_prop_before_tab_10', {}) call StopVimInTerminal(buf) - call delete('XscriptPropBeforeTab') endfunc func Test_prop_after_linebreak() --- 2026,2031 ---- *************** *** 2049,2060 **** call prop_type_add('test', #{highlight: 'ErrorMsg'}) call prop_add(1, (&columns / 2) + 2, #{length: 1, type: 'test'}) END ! call writefile(lines, 'XscriptPropAfterLinebreak') let buf = RunVimInTerminal('-S XscriptPropAfterLinebreak', #{rows: 10}) call VerifyScreenDump(buf, 'Test_prop_after_linebreak', {}) call StopVimInTerminal(buf) - call delete('XscriptPropAfterLinebreak') endfunc " Buffer number of 0 should be ignored, as if the parameter wasn't passed. --- 2037,2047 ---- call prop_type_add('test', #{highlight: 'ErrorMsg'}) call prop_add(1, (&columns / 2) + 2, #{length: 1, type: 'test'}) END ! call writefile(lines, 'XscriptPropAfterLinebreak', 'D') let buf = RunVimInTerminal('-S XscriptPropAfterLinebreak', #{rows: 10}) call VerifyScreenDump(buf, 'Test_prop_after_linebreak', {}) call StopVimInTerminal(buf) endfunc " Buffer number of 0 should be ignored, as if the parameter wasn't passed. *************** *** 2520,2526 **** call prop_type_add('nohi', #{}) call prop_add(5, 6, #{type: 'nohi', text: 'no '}) END ! call writefile(lines, 'XscriptPropsWithText') let buf = RunVimInTerminal('-S XscriptPropsWithText', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_inserts_text_1', {}) --- 2507,2513 ---- call prop_type_add('nohi', #{}) call prop_add(5, 6, #{type: 'nohi', text: 'no '}) END ! call writefile(lines, 'XscriptPropsWithText', 'D') let buf = RunVimInTerminal('-S XscriptPropsWithText', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_inserts_text_1', {}) *************** *** 2539,2545 **** call VerifyScreenDump(buf, 'Test_prop_inserts_text_6', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsWithText') endfunc func Test_prop_inserts_text_highlight() --- 2526,2531 ---- *************** *** 2559,2565 **** let @/ = '' endfunc END ! call writefile(lines, 'XscriptPropsWithHighlight') let buf = RunVimInTerminal('-S XscriptPropsWithHighlight', #{rows: 6, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_inserts_text_hi_1', {}) call term_sendkeys(buf, "/text (he\") --- 2545,2551 ---- let @/ = '' endfunc END ! call writefile(lines, 'XscriptPropsWithHighlight', 'D') let buf = RunVimInTerminal('-S XscriptPropsWithHighlight', #{rows: 6, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_inserts_text_hi_1', {}) call term_sendkeys(buf, "/text (he\") *************** *** 2575,2581 **** call VerifyScreenDump(buf, 'Test_prop_inserts_text_hi_6', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsWithHighlight') endfunc func Test_prop_add_with_text_fails() --- 2561,2566 ---- *************** *** 2599,2605 **** call prop_add(1, 0, #{type: 'MyErrorText', text: 'Another error', text_wrap: 'wrap', text_align: 'right'}) normal G$ END ! call writefile(lines, 'XscriptPropsRightAlign') let buf = RunVimInTerminal('-S XscriptPropsRightAlign', #{rows: 8}) call VerifyScreenDump(buf, 'Test_prop_right_align_twice_1', {}) --- 2584,2590 ---- call prop_add(1, 0, #{type: 'MyErrorText', text: 'Another error', text_wrap: 'wrap', text_align: 'right'}) normal G$ END ! call writefile(lines, 'XscriptPropsRightAlign', 'D') let buf = RunVimInTerminal('-S XscriptPropsRightAlign', #{rows: 8}) call VerifyScreenDump(buf, 'Test_prop_right_align_twice_1', {}) *************** *** 2610,2616 **** call VerifyScreenDump(buf, 'Test_prop_right_align_twice_3', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsRightAlign') endfunc func Test_props_with_text_after() --- 2595,2600 ---- *************** *** 2635,2646 **** call setline(3, 'right here') call prop_add(3, 0, #{type: 'rightprop', text: 'söme和平téxt', text_align: 'right'}) END ! call writefile(lines, 'XscriptPropsWithTextAfter') let buf = RunVimInTerminal('-S XscriptPropsWithTextAfter', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_1', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsWithTextAfter') call assert_fails('call prop_add(1, 2, #{text: "yes", text_align: "right", type: "some"})', 'E1294:') endfunc --- 2619,2629 ---- call setline(3, 'right here') call prop_add(3, 0, #{type: 'rightprop', text: 'söme和平téxt', text_align: 'right'}) END ! call writefile(lines, 'XscriptPropsWithTextAfter', 'D') let buf = RunVimInTerminal('-S XscriptPropsWithTextAfter', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_1', {}) call StopVimInTerminal(buf) call assert_fails('call prop_add(1, 2, #{text: "yes", text_align: "right", type: "some"})', 'E1294:') endfunc *************** *** 2666,2677 **** }) normal G$ END ! call writefile(lines, 'XscriptPropsAfterTrunc') let buf = RunVimInTerminal('-S XscriptPropsAfterTrunc', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_below_trunc_1', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsAfterTrunc') endfunc func Test_props_with_text_after_joined() --- 2649,2659 ---- }) normal G$ END ! call writefile(lines, 'XscriptPropsAfterTrunc', 'D') let buf = RunVimInTerminal('-S XscriptPropsAfterTrunc', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_below_trunc_1', {}) call StopVimInTerminal(buf) endfunc func Test_props_with_text_after_joined() *************** *** 2692,2703 **** call prop_add(8, 0, #{type: 'afterprop', text: ' FFF', text_align: 'after'}) normal 3G6J END ! call writefile(lines, 'XscriptPropsWithTextAfterJoined') let buf = RunVimInTerminal('-S XscriptPropsWithTextAfterJoined', #{rows: 6, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_joined_1', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsWithTextAfterJoined') endfunc func Test_props_with_text_after_truncated() --- 2674,2684 ---- call prop_add(8, 0, #{type: 'afterprop', text: ' FFF', text_align: 'after'}) normal 3G6J END ! call writefile(lines, 'XscriptPropsWithTextAfterJoined', 'D') let buf = RunVimInTerminal('-S XscriptPropsWithTextAfterJoined', #{rows: 6, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_joined_1', {}) call StopVimInTerminal(buf) endfunc func Test_props_with_text_after_truncated() *************** *** 2717,2723 **** call setline(4, ['cursor here']) normal 4Gfh END ! call writefile(lines, 'XscriptPropsWithTextAfterTrunc') let buf = RunVimInTerminal('-S XscriptPropsWithTextAfterTrunc', #{rows: 9, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_trunc_1', {}) --- 2698,2704 ---- call setline(4, ['cursor here']) normal 4Gfh END ! call writefile(lines, 'XscriptPropsWithTextAfterTrunc', 'D') let buf = RunVimInTerminal('-S XscriptPropsWithTextAfterTrunc', #{rows: 9, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_trunc_1', {}) *************** *** 2736,2742 **** call VerifyScreenDump(buf, 'Test_prop_with_text_after_trunc_5', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsWithTextAfterTrunc') endfunc func Test_props_with_text_empty_line() --- 2717,2722 ---- *************** *** 2749,2755 **** call prop_add(3, 1, #{type: 'prop1', text_wrap: 'wrap', text: repeat('X', &columns + 1)}) normal gg0 END ! call writefile(lines, 'XscriptPropsWithTextEmptyLine') let buf = RunVimInTerminal('-S XscriptPropsWithTextEmptyLine', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_empty_line_1', {}) call term_sendkeys(buf, "$") --- 2729,2735 ---- call prop_add(3, 1, #{type: 'prop1', text_wrap: 'wrap', text: repeat('X', &columns + 1)}) normal gg0 END ! call writefile(lines, 'XscriptPropsWithTextEmptyLine', 'D') let buf = RunVimInTerminal('-S XscriptPropsWithTextEmptyLine', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_empty_line_1', {}) call term_sendkeys(buf, "$") *************** *** 2762,2768 **** call VerifyScreenDump(buf, 'Test_prop_with_text_empty_line_5', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsWithTextEmptyLine') endfunc func Test_props_with_text_after_wraps() --- 2742,2747 ---- *************** *** 2782,2793 **** call setline(4, ['cursor here']) normal 4Gfh END ! call writefile(lines, 'XscriptPropsWithTextAfterWraps') let buf = RunVimInTerminal('-S XscriptPropsWithTextAfterWraps', #{rows: 9, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_wraps_1', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsWithTextAfterWraps') endfunc func Test_props_with_text_after_nowrap() --- 2761,2771 ---- call setline(4, ['cursor here']) normal 4Gfh END ! call writefile(lines, 'XscriptPropsWithTextAfterWraps', 'D') let buf = RunVimInTerminal('-S XscriptPropsWithTextAfterWraps', #{rows: 9, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_wraps_1', {}) call StopVimInTerminal(buf) endfunc func Test_props_with_text_after_nowrap() *************** *** 2810,2816 **** call prop_add(3, 0, #{type: 'anotherprop', text: 'also right aligned', text_align: 'right'}) hi CursorLine ctermbg=lightgrey END ! call writefile(lines, 'XscriptPropsAfterNowrap') let buf = RunVimInTerminal('-S XscriptPropsAfterNowrap', #{rows: 12, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_nowrap_1', {}) --- 2788,2794 ---- call prop_add(3, 0, #{type: 'anotherprop', text: 'also right aligned', text_align: 'right'}) hi CursorLine ctermbg=lightgrey END ! call writefile(lines, 'XscriptPropsAfterNowrap', 'D') let buf = RunVimInTerminal('-S XscriptPropsAfterNowrap', #{rows: 12, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_nowrap_1', {}) *************** *** 2821,2827 **** call VerifyScreenDump(buf, 'Test_prop_with_text_after_nowrap_3', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsAfterNowrap') endfunc func Test_props_with_text_below_nowrap() --- 2799,2804 ---- *************** *** 2846,2852 **** }) normal G$ END ! call writefile(lines, 'XscriptPropsBelowNowrap') let buf = RunVimInTerminal('-S XscriptPropsBelowNowrap', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_below_nowrap_1', {}) --- 2823,2829 ---- }) normal G$ END ! call writefile(lines, 'XscriptPropsBelowNowrap', 'D') let buf = RunVimInTerminal('-S XscriptPropsBelowNowrap', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_below_nowrap_1', {}) *************** *** 2854,2860 **** call VerifyScreenDump(buf, 'Test_prop_with_text_below_nowrap_2', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsBelowNowrap') endfunc func Test_props_with_text_above() --- 2831,2836 ---- *************** *** 2933,2939 **** let lines =<< trim END vim9script setline(1, ['one one one', 'two two two', 'three three three']) ! prop_type_add('test', {highlight: 'ModeMsg'}) prop_add(2, 0, { text: '└─ Virtual text below the 2nd line', type: 'test', --- 2909,2915 ---- let lines =<< trim END vim9script setline(1, ['one one one', 'two two two', 'three three three']) ! prop_type_add('test', {highlight: 'Search'}) prop_add(2, 0, { text: '└─ Virtual text below the 2nd line', type: 'test', *************** *** 2946,2952 **** call term_sendkeys(buf, "2GA\xx") call VerifyScreenDump(buf, 'Test_prop_below_split_line_1', {}) ! call term_sendkeys(buf, "\") call StopVimInTerminal(buf) endfunc --- 2922,2930 ---- call term_sendkeys(buf, "2GA\xx") call VerifyScreenDump(buf, 'Test_prop_below_split_line_1', {}) ! call term_sendkeys(buf, "\:set number\") ! call VerifyScreenDump(buf, 'Test_prop_below_split_line_2', {}) ! call StopVimInTerminal(buf) endfunc *************** *** 2996,3002 **** autocmd CursorMoved * call Update() END ! call writefile(lines, 'XscriptPropsCursorMovec') let buf = RunVimInTerminal('-S XscriptPropsCursorMovec', #{rows: 8, cols: 60}) call term_sendkeys(buf, "gg0w") call VerifyScreenDump(buf, 'Test_prop_with_text_cursormoved_1', {}) --- 2974,2980 ---- autocmd CursorMoved * call Update() END ! call writefile(lines, 'XscriptPropsCursorMovec', 'D') let buf = RunVimInTerminal('-S XscriptPropsCursorMovec', #{rows: 8, cols: 60}) call term_sendkeys(buf, "gg0w") call VerifyScreenDump(buf, 'Test_prop_with_text_cursormoved_1', {}) *************** *** 3009,3015 **** call VerifyScreenDump(buf, 'Test_prop_with_text_cursormoved_1', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsCursorMovec') endfunc func Test_props_with_text_after_split_join() --- 2987,2992 ---- *************** *** 3027,3033 **** call prop_add(1, 0, #{type: 'another', text: ' right here', text_align: 'right'}) endfunc END ! call writefile(lines, 'XscriptPropsAfterSplitJoin') let buf = RunVimInTerminal('-S XscriptPropsAfterSplitJoin', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_join_split_1', {}) --- 3004,3010 ---- call prop_add(1, 0, #{type: 'another', text: ' right here', text_align: 'right'}) endfunc END ! call writefile(lines, 'XscriptPropsAfterSplitJoin', 'D') let buf = RunVimInTerminal('-S XscriptPropsAfterSplitJoin', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_with_text_after_join_split_1', {}) *************** *** 3044,3050 **** call VerifyScreenDump(buf, 'Test_prop_with_text_after_join_split_5', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsAfterSplitJoin') endfunc func Test_removed_prop_with_text_cleans_up_array() --- 3021,3026 ---- *************** *** 3099,3105 **** prop_type_add('argname', {highlight: 'DiffChange', start_incl: true}) prop_add(3, 10, {type: 'argname', text: 'arg: '}) END ! call writefile(lines, 'XscriptPropsStartIncl') let buf = RunVimInTerminal('-S XscriptPropsStartIncl', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_insert_start_incl_1', {}) --- 3075,3081 ---- prop_type_add('argname', {highlight: 'DiffChange', start_incl: true}) prop_add(3, 10, {type: 'argname', text: 'arg: '}) END ! call writefile(lines, 'XscriptPropsStartIncl', 'D') let buf = RunVimInTerminal('-S XscriptPropsStartIncl', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_insert_start_incl_1', {}) *************** *** 3121,3127 **** call VerifyScreenDump(buf, 'Test_prop_insert_start_incl_8', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsStartIncl') endfunc func Test_insert_text_list_mode() --- 3097,3102 ---- *************** *** 3139,3145 **** text_align: 'right' }) END ! call writefile(lines, 'XscriptPropsListMode') let buf = RunVimInTerminal('-S XscriptPropsListMode', #{rows: 8, cols: 60}) call term_sendkeys(buf, "ggj") call VerifyScreenDump(buf, 'Test_prop_insert_list_mode_1', {}) --- 3114,3120 ---- text_align: 'right' }) END ! call writefile(lines, 'XscriptPropsListMode', 'D') let buf = RunVimInTerminal('-S XscriptPropsListMode', #{rows: 8, cols: 60}) call term_sendkeys(buf, "ggj") call VerifyScreenDump(buf, 'Test_prop_insert_list_mode_1', {}) *************** *** 3151,3157 **** call VerifyScreenDump(buf, 'Test_prop_insert_list_mode_3', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsListMode') endfunc func Test_insert_text_with_padding() --- 3126,3131 ---- *************** *** 3189,3195 **** text_wrap: 'wrap', }) END ! call writefile(lines, 'XscriptPropsPadded') let buf = RunVimInTerminal('-S XscriptPropsPadded', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_text_with_padding_1', {}) --- 3163,3169 ---- text_wrap: 'wrap', }) END ! call writefile(lines, 'XscriptPropsPadded', 'D') let buf = RunVimInTerminal('-S XscriptPropsPadded', #{rows: 8, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_text_with_padding_1', {}) *************** *** 3204,3210 **** call VerifyScreenDump(buf, 'Test_prop_text_with_padding_4', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsPadded') endfunc func Test_insert_text_change_arg() --- 3178,3183 ---- *************** *** 3232,3238 **** text: '-', }) END ! call writefile(lines, 'XscriptPropsChange') let buf = RunVimInTerminal('-S XscriptPropsChange', #{rows: 5, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_text_change_arg_1', {}) --- 3205,3211 ---- text: '-', }) END ! call writefile(lines, 'XscriptPropsChange', 'D') let buf = RunVimInTerminal('-S XscriptPropsChange', #{rows: 5, cols: 60}) call VerifyScreenDump(buf, 'Test_prop_text_change_arg_1', {}) *************** *** 3240,3246 **** call VerifyScreenDump(buf, 'Test_prop_text_change_arg_2', {}) call StopVimInTerminal(buf) - call delete('XscriptPropsChange') endfunc " vim: shiftwidth=2 sts=2 expandtab --- 3213,3218 ---- *** ../vim-9.0.0514/src/testdir/dumps/Test_prop_below_split_line_1.dump 2022-09-14 22:13:06.069843985 +0100 --- src/testdir/dumps/Test_prop_below_split_line_1.dump 2022-09-20 15:51:47.595854548 +0100 *************** *** 1,6 **** |o+0&#ffffff0|n|e| |o|n|e| |o|n|e| @63 |t|w|o| |t|w|o| |t|w|o| @63 ! @3|└+2&&|─| |V|i|r|t|u|a|l| |t|e|x|t| |b|e|l|o|w| |t|h|e| |2|n|d| |l|i|n|e| +0&&@37 |x@1> @72 |t|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @57 |~+0#4040ff13&| @73 --- 1,6 ---- |o+0&#ffffff0|n|e| |o|n|e| |o|n|e| @63 |t|w|o| |t|w|o| |t|w|o| @63 ! @3|└+0&#ffff4012|─| |V|i|r|t|u|a|l| |t|e|x|t| |b|e|l|o|w| |t|h|e| |2|n|d| |l|i|n|e| +0&#ffffff0@37 |x@1> @72 |t|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @57 |~+0#4040ff13&| @73 *** ../vim-9.0.0514/src/testdir/dumps/Test_prop_below_split_line_2.dump 2022-09-20 15:54:04.095535457 +0100 --- src/testdir/dumps/Test_prop_below_split_line_2.dump 2022-09-20 15:51:48.659852050 +0100 *************** *** 0 **** --- 1,8 ---- + | +0#af5f00255#ffffff0@1|1| |o+0#0000000&|n|e| |o|n|e| |o|n|e| @59 + | +0#af5f00255&@1|2| |t+0#0000000&|w|o| |t|w|o| |t|w|o| @59 + | +0#af5f00255&@3| +0#0000000&@2|└+0&#ffff4012|─| |V|i|r|t|u|a|l| |t|e|x|t| |b|e|l|o|w| |t|h|e| |2|n|d| |l|i|n|e| +0&#ffffff0@33 + | +0#af5f00255&@1|3| |x+0#0000000&>x| @68 + | +0#af5f00255&@1|4| |t+0#0000000&|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @53 + |~+0#4040ff13&| @73 + |~| @73 + |:+0#0000000&|s|e|t| |n|u|m|b|e|r| @45|3|,|2| @10|A|l@1| *** ../vim-9.0.0514/src/version.c 2022-09-20 15:10:27.606001812 +0100 --- src/version.c 2022-09-20 15:53:53.591559934 +0100 *************** *** 701,702 **** --- 701,704 ---- { /* Add new patch number below this line */ + /**/ + 515, /**/ -- hundred-and-one symptoms of being an internet addict: 109. You actually read -- and enjoy -- lists like this. /// 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 ///