1
0
forked from aniani/vim

patch 8.2.0308: 'showbreak' does not work for a very long line

Problem:    'showbreak' does not work for a very long line. (John Little)
Solution:   Check whether 'briopt' contains "sbr". (Ken Takata, closes #5523,
            closes #5684)
This commit is contained in:
Bram Moolenaar 2020-02-23 15:17:27 +01:00
parent 026270c01d
commit 1aa76b8fd0
3 changed files with 13 additions and 1 deletions

View File

@ -1176,7 +1176,7 @@ win_line(
c_final = NUL;
n_extra = get_breakindent_win(wp,
ml_get_buf(wp->w_buffer, lnum, FALSE));
if (wp->w_skipcol > 0 && wp->w_p_wrap)
if (wp->w_skipcol > 0 && wp->w_p_wrap && wp->w_p_brisbr)
need_showbreak = FALSE;
// Correct end of highlighted area for 'breakindent',
// required when 'linebreak' is also set.

View File

@ -682,5 +682,15 @@ func Test_breakindent19_sbr_nextpage()
\ "> aaaaaaaaaaaaaaaaaa",
\ ]
call s:compare_lines(expect, lines)
setl breakindent briopt=min:18 sbr=>
norm! 5gj
let lines = s:screen_lines(1, 20)
let expect = [
\ ">aaaaaaaaaaaaaaaaaaa",
\ ">aaaaaaaaaaaaaaaaaaa",
\ ">aaaaaaaaaaaaaaaaaaa",
\ ]
call s:compare_lines(expect, lines)
call s:close_windows('set breakindent& briopt& sbr&')
endfunc

View File

@ -738,6 +738,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
308,
/**/
307,
/**/