mirror of
https://github.com/vim/vim.git
synced 2025-09-28 04:24:06 -04:00
updated for version 7.4.416
Problem: Problem with breakindent/showbreak and tabs. Solution: Handle tabs differently. (Christian Brabandt)
This commit is contained in:
@@ -1195,10 +1195,7 @@ win_lbr_chartabsize(wp, line, s, col, headp)
|
|||||||
if (wp->w_p_bri)
|
if (wp->w_p_bri)
|
||||||
added += get_breakindent_win(wp, line);
|
added += get_breakindent_win(wp, line);
|
||||||
|
|
||||||
if (tab_corr)
|
size += added;
|
||||||
size += (added / wp->w_buffer->b_p_ts) * wp->w_buffer->b_p_ts;
|
|
||||||
else
|
|
||||||
size += added;
|
|
||||||
if (col != 0)
|
if (col != 0)
|
||||||
added = 0;
|
added = 0;
|
||||||
}
|
}
|
||||||
|
@@ -73,6 +73,23 @@ STARTTEST
|
|||||||
:let width = strlen(text[1:])+indent(2)*4+strlen(&sbr)*3 " text wraps 3 times
|
:let width = strlen(text[1:])+indent(2)*4+strlen(&sbr)*3 " text wraps 3 times
|
||||||
:$put =g:test
|
:$put =g:test
|
||||||
:$put =printf(\"strdisplaywidth: %d == calculated: %d\", strdisplaywidth(text), width)
|
:$put =printf(\"strdisplaywidth: %d == calculated: %d\", strdisplaywidth(text), width)
|
||||||
|
:"
|
||||||
|
:" Test, that the string " a\tb\tc\td\te" is correctly
|
||||||
|
:" displayed in a 20 column wide window (see bug report
|
||||||
|
:" https://groups.google.com/d/msg/vim_dev/ZOdg2mc9c9Y/TT8EhFjEy0IJ
|
||||||
|
:only
|
||||||
|
:vert 20new
|
||||||
|
:set all& nocp breakindent briopt=min:10
|
||||||
|
:call setline(1, [" a\tb\tc\td\te", " z y x w v"])
|
||||||
|
:/^\s*a
|
||||||
|
fbgjyl:let line1 = @0
|
||||||
|
:?^\s*z
|
||||||
|
fygjyl:let line2 = @0
|
||||||
|
:quit!
|
||||||
|
:$put ='Test 12: breakindent with wrapping Tab'
|
||||||
|
:$put =line1
|
||||||
|
:$put =line2
|
||||||
|
:"
|
||||||
:%w! test.out
|
:%w! test.out
|
||||||
:qa!
|
:qa!
|
||||||
ENDTEST
|
ENDTEST
|
||||||
|
@@ -53,3 +53,6 @@ Test 4: Simple breakindent + min width: 18
|
|||||||
|
|
||||||
Test 11: strdisplaywidth when breakindent is on
|
Test 11: strdisplaywidth when breakindent is on
|
||||||
strdisplaywidth: 46 == calculated: 64
|
strdisplaywidth: 46 == calculated: 64
|
||||||
|
Test 12: breakindent with wrapping Tab
|
||||||
|
d
|
||||||
|
w
|
||||||
|
@@ -741,6 +741,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
416,
|
||||||
/**/
|
/**/
|
||||||
415,
|
415,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user