diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-12-19 15:51:44 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-12-19 15:51:44 +0000 |
commit | 07146ad1d33ba0d36b324873e5c461931e6b025e (patch) | |
tree | d083992f49a6805bcf03d7c7e5c4f7ae7e33893c | |
parent | 4ce1f99a2d58b809ab5a5c602bd031426f8527e8 (diff) | |
download | vim-git-07146ad1d33ba0d36b324873e5c461931e6b025e.tar.gz |
patch 9.0.1078: with the +vartabs feature indent folding may use wrong 'ts'v9.0.1078
Problem: With the +vartabs feature indent folding may use wrong 'tabstop'.
Solution: Use the "buf" argument instead of "curbuf".
-rw-r--r-- | src/indent.c | 2 | ||||
-rw-r--r-- | src/testdir/test_fold.vim | 21 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 24 insertions, 1 deletions
diff --git a/src/indent.c b/src/indent.c index aaf3caafc..cbb3f94f4 100644 --- a/src/indent.c +++ b/src/indent.c @@ -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 diff --git a/src/testdir/test_fold.vim b/src/testdir/test_fold.vim index 2f4aade01..adf9e5207 100644 --- a/src/testdir/test_fold.vim +++ b/src/testdir/test_fold.vim @@ -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'] diff --git a/src/version.c b/src/version.c index a2b4e7ecb..1ce404295 100644 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1078, +/**/ 1077, /**/ 1076, |