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\<BS>\<Esc>",
        \ "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\<BS>\<Esc>",
        \ "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|\<C-V>" .. 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|\<C-V>" .. 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\<Esc>")
    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\<Esc>")
    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\<CR>")
--- 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\<CR>")
***************
*** 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\<CR>xx")
    call VerifyScreenDump(buf, 'Test_prop_below_split_line_1', {})
  
!   call term_sendkeys(buf, "\<Esc>")
    call StopVimInTerminal(buf)
  endfunc
  
--- 2922,2930 ----
    call term_sendkeys(buf, "2GA\<CR>xx")
    call VerifyScreenDump(buf, 'Test_prop_below_split_line_1', {})
  
!   call term_sendkeys(buf, "\<Esc>:set number\<CR>")
!   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 -- [email protected] -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20220920150001.9019E1C0846%40moolenaar.net.

Raspunde prin e-mail lui