forked from aniani/vim
patch 9.0.1078: with the +vartabs feature indent folding may use wrong 'ts'
Problem: With the +vartabs feature indent folding may use wrong 'tabstop'. Solution: Use the "buf" argument instead of "curbuf".
This commit is contained in:
@@ -420,7 +420,7 @@ get_indent_buf(buf_T *buf, linenr_T lnum)
|
||||
{
|
||||
# ifdef FEAT_VARTABS
|
||||
return get_indent_str_vtab(ml_get_buf(buf, lnum, FALSE),
|
||||
(int)curbuf->b_p_ts, buf->b_p_vts_array, FALSE);
|
||||
(int)buf->b_p_ts, buf->b_p_vts_array, FALSE);
|
||||
# else
|
||||
return get_indent_str(ml_get_buf(buf, lnum, FALSE), (int)buf->b_p_ts, FALSE);
|
||||
# endif
|
||||
|
@@ -157,6 +157,27 @@ func Test_indent_fold_max()
|
||||
bw!
|
||||
endfunc
|
||||
|
||||
func Test_indent_fold_tabstop()
|
||||
call setline(1, ['0', ' 1', ' 1', "\t2", "\t2"])
|
||||
setlocal shiftwidth=4
|
||||
setlocal foldcolumn=1
|
||||
setlocal foldlevel=2
|
||||
setlocal foldmethod=indent
|
||||
redraw
|
||||
call assert_equal('2 2', ScreenLines(5, 10)[0])
|
||||
vsplit
|
||||
windo diffthis
|
||||
botright new
|
||||
" This 'tabstop' value should not be used for folding in other buffers.
|
||||
setlocal tabstop=4
|
||||
diffoff!
|
||||
redraw
|
||||
call assert_equal('2 2', ScreenLines(5, 10)[0])
|
||||
|
||||
bwipe!
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_manual_fold_with_filter()
|
||||
CheckExecutable cat
|
||||
for type in ['manual', 'marker']
|
||||
|
@@ -695,6 +695,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1078,
|
||||
/**/
|
||||
1077,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user