Skip to content

Commit

Permalink
patch 9.0.1851: breakindent missing by virt text
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
zeertzjq authored and chrisbra committed Sep 2, 2023
1 parent 32f3461 commit 3c3cf1d
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
3 changes: 2 additions & 1 deletion src/drawline.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
12 changes: 6 additions & 6 deletions src/testdir/test_textprop.vim
Original file line number Diff line number Diff line change
Expand Up @@ -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})
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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')
Expand Down Expand Up @@ -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')
Expand Down Expand Up @@ -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')
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -699,6 +699,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1851,
/**/
1850,
/**/
Expand Down

0 comments on commit 3c3cf1d

Please sign in to comment.