1
0
forked from aniani/vim

updated for version 7.2.356

Problem:    When 'foldmethod' is changed not all folds are closed as expected.
Solution:   In foldUpdate() correct the start position and reset fd_flags when
            w_foldinvalid is set. (Lech Lorens)
This commit is contained in:
Bram Moolenaar
2010-02-03 18:14:49 +01:00
parent 6427c608e7
commit cee6a352b2
2 changed files with 9 additions and 1 deletions

View File

@@ -849,11 +849,17 @@ foldUpdate(wp, top, bot)
fold_T *fp;
/* Mark all folds from top to bot as maybe-small. */
(void)foldFind(&curwin->w_folds, curwin->w_cursor.lnum, &fp);
(void)foldFind(&curwin->w_folds, top, &fp);
while (fp < (fold_T *)curwin->w_folds.ga_data + curwin->w_folds.ga_len
&& fp->fd_top < bot)
{
fp->fd_small = MAYBE;
/* Not sure if this is the right place to reset fd_flags (suggested by
* Lech Lorens). */
if (wp->w_foldinvalid)
fp->fd_flags = FD_LEVEL;
++fp;
}