mirror of
https://github.com/neovim/neovim.git
synced 2026-08-28 01:51:52 +00:00
vim-patch:9.1.0002: a closing fold expr, may start a new fold (#26876)
Problem: a closing fold expression may unexpectedly start a new fold
when it should end a fold
(reported by Shota Nozaki)
Solution: if a fold hasn't started yet, do not immediately
start a new fold with level 1
(Shota Nozaki)
fixes: vim/vim#12768
closes: vim/vim#13748
0689b87059
Co-authored-by: Shota Nozaki <emonkak@gmail.com>
This commit is contained in:
@@ -1578,4 +1578,17 @@ func Test_foldexpr_return_empty_string()
|
||||
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
" Make sure that when ending a fold that hasn't been started, it does not
|
||||
" start a new fold.
|
||||
func Test_foldexpr_end_fold()
|
||||
new
|
||||
setlocal foldmethod=expr
|
||||
let &l:foldexpr = 'v:lnum == 2 ? "<2" : "="'
|
||||
call setline(1, range(1, 3))
|
||||
redraw
|
||||
call assert_equal([0, 0, 0], range(1, 3)->map('foldlevel(v:val)'))
|
||||
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user