mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:7.4.416
Problem: Problem with breakindent/showbreak and tabs. Solution: Handle tabs differently. (Christian Brabandt) https://code.google.com/p/vim/source/detail?name=v7-4-416
This commit is contained in:
parent
b1e06c6d60
commit
24ebb018e2
@ -1072,12 +1072,7 @@ int win_lbr_chartabsize(win_T *wp, char_u *line, char_u *s, colnr_T col, int *he
|
|||||||
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 / wp->w_buffer->b_p_ts) * wp->w_buffer->b_p_ts;
|
|
||||||
} else {
|
|
||||||
size += added;
|
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
|
||||||
|
@ -249,7 +249,7 @@ static int included_patches[] = {
|
|||||||
//419,
|
//419,
|
||||||
418,
|
418,
|
||||||
//417,
|
//417,
|
||||||
//416,
|
416,
|
||||||
415,
|
415,
|
||||||
414,
|
414,
|
||||||
//413 NA
|
//413 NA
|
||||||
|
Loading…
Reference in New Issue
Block a user