vim-patch:7.4.388

Problem:    With 'linebreak' set and 'list' unset a Tab is not counted
            properly. (Kent Sibilev)
Solution:   Check the 'list' option. (Christian Brabandt)
This commit is contained in:
Felipe Morales
2014-08-16 15:48:41 -04:00
parent 91aabcb75b
commit 2e1c745869
4 changed files with 20 additions and 2 deletions

View File

@@ -3461,7 +3461,7 @@ win_line (
/* tab amount depends on current column */ /* tab amount depends on current column */
tab_len = (int)wp->w_buffer->b_p_ts tab_len = (int)wp->w_buffer->b_p_ts
- vcol % (int)wp->w_buffer->b_p_ts - 1; - vcol % (int)wp->w_buffer->b_p_ts - 1;
if (!wp->w_p_lbr) { if (!wp->w_p_lbr || !wp->w_p_list) {
n_extra = tab_len; n_extra = tab_len;
} else { } else {
char_u *p; char_u *p;

View File

@@ -30,11 +30,22 @@ STARTTEST
:redraw! :redraw!
:let line=ScreenChar(winwidth(0)) :let line=ScreenChar(winwidth(0))
:call DoRecordScreen() :call DoRecordScreen()
:"
:let g:test ="Test 2: set nolinebreak list" :let g:test ="Test 2: set nolinebreak list"
:set list nolinebreak :set list nolinebreak
:redraw! :redraw!
:let line=ScreenChar(winwidth(0)) :let line=ScreenChar(winwidth(0))
:call DoRecordScreen() :call DoRecordScreen()
:"
:let g:test ="Test 3: set linebreak nolist"
:$put =\"\t*mask = nil;\"
:$
:norm! zt
:set nolist linebreak
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:"
:%w! test.out :%w! test.out
:qa! :qa!
ENDTEST ENDTEST

View File

@@ -12,3 +12,10 @@ Test 2: set nolinebreak list
+pqrstuvwxyz␣1060ABC +pqrstuvwxyz␣1060ABC
+DEFGHIJKLMNOPˑ¶ +DEFGHIJKLMNOPˑ¶
*mask = nil;
Test 3: set linebreak nolist
*mask = nil;
~
~
~

View File

@@ -207,7 +207,7 @@ static int included_patches[] = {
//391, //391,
//390, //390,
//389, //389,
//388, 388,
//387, //387,
//386, //386,
//385, //385,