diff options
author | vimboss <devnull@localhost> | 2009-01-06 14:02:45 +0000 |
---|---|---|
committer | vimboss <devnull@localhost> | 2009-01-06 14:02:45 +0000 |
commit | 9556ffaa5bf76f0cbb9ee14e0d0e11df05aadba4 (patch) | |
tree | f92fb3b45d60c4ed8c694967a17c6e6ac30f332f | |
parent | d2bec764b7695a62aaab414f5b4eb7ae3a171040 (diff) | |
download | vim-9556ffaa5bf76f0cbb9ee14e0d0e11df05aadba4.tar.gz |
-rw-r--r-- | src/fold.c | 18 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 14 insertions, 6 deletions
@@ -740,7 +740,7 @@ deleteFold(start, end, recursive, had_visual) garray_T *found_ga; fold_T *found_fp = NULL; linenr_T found_off = 0; - int use_level = FALSE; + int use_level; int maybe_small = FALSE; int level = 0; linenr_T lnum = start; @@ -757,6 +757,7 @@ deleteFold(start, end, recursive, had_visual) gap = &curwin->w_folds; found_ga = NULL; lnum_off = 0; + use_level = FALSE; for (;;) { if (!foldFind(gap, lnum - lnum_off, &fp)) @@ -783,20 +784,21 @@ deleteFold(start, end, recursive, had_visual) else { lnum = found_fp->fd_top + found_fp->fd_len + found_off; - did_one = TRUE; if (foldmethodIsManual(curwin)) deleteFoldEntry(found_ga, (int)(found_fp - (fold_T *)found_ga->ga_data), recursive); else { - if (found_fp->fd_top + found_off < first_lnum) - first_lnum = found_fp->fd_top; - if (lnum > last_lnum) + if (first_lnum > found_fp->fd_top + found_off) + first_lnum = found_fp->fd_top + found_off; + if (last_lnum < lnum) last_lnum = lnum; - parseMarker(curwin); + if (!did_one) + parseMarker(curwin); deleteFoldMarkers(found_fp, recursive, found_off); } + did_one = TRUE; /* redraw window */ changed_window_setting(); @@ -811,6 +813,10 @@ deleteFold(start, end, recursive, had_visual) redraw_curbuf_later(INVERTED); #endif } + else + /* Deleting markers may make cursor column invalid. */ + check_cursor_col(); + if (last_lnum > 0) changed_lines(first_lnum, (colnr_T)0, last_lnum, 0L); } diff --git a/src/version.c b/src/version.c index 5ad35f93..d6d660e0 100644 --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 78, +/**/ 77, /**/ 76, |