diff options
author | Bram Moolenaar <bram@zimbu.org> | 2010-05-13 17:35:59 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@zimbu.org> | 2010-05-13 17:35:59 +0200 |
commit | 4f3aecacf5f0a3ffbc6de80010c96efe048ec528 (patch) | |
tree | 768993e53dca052fc5ffd9502274021accba1c3e | |
parent | 4c96949642685755add8121498453c83b0409a3a (diff) | |
download | vim-4f3aecacf5f0a3ffbc6de80010c96efe048ec528.tar.gz |
Problem: Folds are sometimes not updated properly and there is no way to
force an update.
Solution: Make "zx" and "zX" recompute folds (suggested by Christian
Brabandt)
-rw-r--r-- | src/normal.c | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/normal.c b/src/normal.c index 1b514b36..a19771b4 100644 --- a/src/normal.c +++ b/src/normal.c @@ -4936,13 +4936,15 @@ dozet: /* "zx": re-apply 'foldlevel' and open folds at the cursor */ case 'x': curwin->w_p_fen = TRUE; - newFoldLevel(); /* update right now */ + curwin->w_foldinvalid = TRUE; /* recompute folds */ + newFoldLevel(); /* update right now */ foldOpenCursor(); break; /* "zX": undo manual opens/closes, re-apply 'foldlevel' */ case 'X': curwin->w_p_fen = TRUE; - old_fdl = -1; /* force an update */ + curwin->w_foldinvalid = TRUE; /* recompute folds */ + old_fdl = -1; /* force an update */ break; /* "zm": fold more */ diff --git a/src/version.c b/src/version.c index 453a23b4..1f57dd7f 100644 --- a/src/version.c +++ b/src/version.c @@ -682,6 +682,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 421, +/**/ 420, /**/ 419, |