]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.1851: breakindent missing by virt text v9.0.1851
authorzeertzjq <zeertzjq@outlook.com>
Sat, 2 Sep 2023 19:55:00 +0000 (21:55 +0200)
committerChristian Brabandt <cb@256bit.org>
Sat, 2 Sep 2023 19:55:00 +0000 (21:55 +0200)
Problem:  Virtual text at a column causes 'breakindent' and 'showbreak'
          to be missing (after patch 9.0.1124).
Solution: Add check for "tp_col" in another place where TP_FLAG_WRAP is
          checked.

closes: #12769
closes: #13008
closes: #13010

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
src/drawline.c
src/testdir/test_textprop.vim
src/version.c

index edcf55cf3fa95d233b805361cb1dee4d4e50bbef..04e7ed8d5f0229d7b013685fae35aa345a9bbb75 100644 (file)
@@ -2112,7 +2112,8 @@ win_line(
                                                        & TP_FLAG_ALIGN_RIGHT);
                            int     below = (tp->tp_flags
                                                        & TP_FLAG_ALIGN_BELOW);
-                           int     wrap = (tp->tp_flags & TP_FLAG_WRAP);
+                           int     wrap = tp->tp_col < MAXCOL
+                                             || (tp->tp_flags & TP_FLAG_WRAP);
                            int     padding = tp->tp_col == MAXCOL
                                                 && tp->tp_len > 1
                                                          ? tp->tp_len - 1 : 0;
index 736d50bed7c254f7741f8c55581165088236a10e..106e2e56c208bfd9edb0d09780febc09203b51c4 100644 (file)
@@ -1983,7 +1983,7 @@ func Test_prop_with_linebreak()
       set linebreak
       setline(1, 'one twoword')
       prop_type_add('test', {highlight: 'Special'})
-      prop_add(1, 4, {text: ': virtual text', type: 'test', text_wrap: 'wrap'})
+      prop_add(1, 4, {text: ': virtual text', type: 'test'})
   END
   call writefile(lines, 'XscriptPropWithLinebreak', 'D')
   let buf = RunVimInTerminal('-S XscriptPropWithLinebreak', #{rows: 6, cols: 50})
@@ -2690,7 +2690,7 @@ func Run_test_prop_inserts_text_showbreak(cmd)
     setlocal scrolloff=0 smoothscroll
     call setline(1, repeat('a', 28))
     call prop_type_add('theprop', #{highlight: 'Special'})
-    call prop_add(1, 28, #{type: 'theprop', text: repeat('123', 23), text_wrap: 'wrap'})
+    call prop_add(1, 28, #{type: 'theprop', text: repeat('123', 23)})
     normal! $
   END
   let lines = insert(lines, a:cmd)
@@ -2761,7 +2761,7 @@ func Test_prop_before_tab_skipcol()
     setlocal list listchars=tab:<-> scrolloff=0 smoothscroll
     call setline(1, repeat("\t", 4) .. 'a')
     call prop_type_add('theprop', #{highlight: 'Special'})
-    call prop_add(1, 4, #{type: 'theprop', text: repeat('12', 32), text_wrap: 'wrap'})
+    call prop_add(1, 4, #{type: 'theprop', text: repeat('12', 32)})
     normal! $
   END
   call writefile(lines, 'XscriptPropsBeforeTabSkipcol', 'D')
@@ -2798,7 +2798,7 @@ func Test_prop_inserts_text_before_linebreak()
     setlocal linebreak showbreak=+ breakindent breakindentopt=shift:2
     call setline(1, repeat('a', 50) .. ' ' .. repeat('c', 45))
     call prop_type_add('theprop', #{highlight: 'Special'})
-    call prop_add(1, 51, #{type: 'theprop', text: repeat('b', 10), text_wrap: 'wrap'})
+    call prop_add(1, 51, #{type: 'theprop', text: repeat('b', 10)})
     normal! $
   END
   call writefile(lines, 'XscriptPropsBeforeLinebreak', 'D')
@@ -3255,8 +3255,8 @@ func Test_props_with_text_empty_line()
   let lines =<< trim END
       call setline(1, ['', 'aaa', '', 'bbbbbb'])
       call prop_type_add('prop1', #{highlight: 'Search'})
-      call prop_add(1, 1, #{type: 'prop1', text_wrap: 'wrap', text: repeat('X', &columns)})
-      call prop_add(3, 1, #{type: 'prop1', text_wrap: 'wrap', text: repeat('X', &columns + 1)})
+      call prop_add(1, 1, #{type: 'prop1', text: repeat('X', &columns)})
+      call prop_add(3, 1, #{type: 'prop1', text: repeat('X', &columns + 1)})
       normal gg0
   END
   call writefile(lines, 'XscriptPropsWithTextEmptyLine', 'D')
index 517e0504e9c50af38de9c8f4288f64f971a325e7..605a61c4f6ca529a207567dd847bdf7f4d2cb294 100644 (file)
@@ -699,6 +699,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1851,
 /**/
     1850,
 /**/