1
0
forked from aniani/vim

patch 8.2.5009: fold may not be closeable after appending

Problem:    Fold may not be closeable after appending.
Solution:   Set the fd_small flag to MAYBE. (Brandon Simmons, closes #10471)
This commit is contained in:
Brandon Simmons
2022-05-23 15:33:08 +01:00
committed by Bram Moolenaar
parent 7e66778815
commit e8c4a64bff
3 changed files with 22 additions and 0 deletions

View File

@@ -2574,6 +2574,7 @@ foldUpdateIEMSRecurse(
(long)(fp->fd_top - firstlnum)); (long)(fp->fd_top - firstlnum));
fp->fd_len += fp->fd_top - firstlnum; fp->fd_len += fp->fd_top - firstlnum;
fp->fd_top = firstlnum; fp->fd_top = firstlnum;
fp->fd_small = MAYBE;
fold_changed = TRUE; fold_changed = TRUE;
} }
else if ((flp->start != 0 && lvl == level) else if ((flp->start != 0 && lvl == level)

View File

@@ -1528,4 +1528,23 @@ func Test_indent_one_line_fold_close()
bw! bw!
endfunc endfunc
" Make sure that when appending [an indented line then a blank line] right
" before a single indented line, the resulting extended fold can be closed
func Test_indent_append_blank_small_fold_close()
new
setlocal sw=2 foldmethod=indent
" at first, the fold at the second line can't be closed since it's smaller
" than foldminlines
let lines =<< trim END
line 1
line 4
END
call setline(1, lines)
call append(1, [' line 2', ''])
" close all folds
normal zM
call assert_notequal(-1, foldclosed(2)) " the fold should be closed now
bw!
endfunc
" vim: shiftwidth=2 sts=2 expandtab " vim: shiftwidth=2 sts=2 expandtab

View File

@@ -734,6 +734,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 */
/**/
5009,
/**/ /**/
5008, 5008,
/**/ /**/