diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/drawline.c | 4 | ||||
-rw-r--r-- | src/testdir/test_breakindent.vim | 41 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 45 insertions, 2 deletions
diff --git a/src/drawline.c b/src/drawline.c index dcfe92cc6..ea9e4a997 100644 --- a/src/drawline.c +++ b/src/drawline.c @@ -1173,6 +1173,7 @@ win_line( # endif p_extra = NULL; c_extra = ' '; + c_final = NUL; n_extra = get_breakindent_win(wp, ml_get_buf(wp->w_buffer, lnum, FALSE)); // Correct end of highlighted area for 'breakindent', @@ -1647,9 +1648,8 @@ win_line( #ifdef FEAT_LINEBREAK int c0; #endif + VIM_CLEAR(p_extra_free); - if (p_extra_free != NULL) - VIM_CLEAR(p_extra_free); // Get a character from the line itself. c = *ptr; #ifdef FEAT_LINEBREAK diff --git a/src/testdir/test_breakindent.vim b/src/testdir/test_breakindent.vim index 785709fc0..90c0ca5af 100644 --- a/src/testdir/test_breakindent.vim +++ b/src/testdir/test_breakindent.vim @@ -614,3 +614,44 @@ func Test_breakindent16_vartabs() call s:compare_lines(expect, lines) call s:close_windows('set vts&') endfunc + +func Test_breakindent17_vartabs() + if !has("vartabs") + return + endif + let s:input = "" + call s:test_windows('setl breakindent list listchars=tab:<-> showbreak=+++') + call setline(1, "\t" . repeat('a', 63)) + vert resize 30 + norm! 1gg$ + redraw! + let lines = s:screen_lines(1, 30) + let expect = [ + \ "<-->aaaaaaaaaaaaaaaaaaaaaaaaaa", + \ " +++aaaaaaaaaaaaaaaaaaaaaaa", + \ " +++aaaaaaaaaaaaaa ", + \ ] + call s:compare_lines(expect, lines) + call s:close_windows('set breakindent& list& listchars& showbreak&') +endfunc + +func Test_breakindent18_vartabs() + if !has("vartabs") + return + endif + let s:input = "" + call s:test_windows('setl breakindent list listchars=tab:<->') + call setline(1, "\t" . repeat('a', 63)) + vert resize 30 + norm! 1gg$ + redraw! + let lines = s:screen_lines(1, 30) + let expect = [ + \ "<-->aaaaaaaaaaaaaaaaaaaaaaaaaa", + \ " aaaaaaaaaaaaaaaaaaaaaaaaaa", + \ " aaaaaaaaaaa ", + \ ] + call s:compare_lines(expect, lines) + call s:close_windows('set breakindent& list& listchars&') +endfunc + diff --git a/src/version.c b/src/version.c index 5f009e316..d7c8c8b43 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2245, +/**/ 2244, /**/ 2243, |