summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvimboss <devnull@localhost>2009-01-06 14:02:45 +0000
committervimboss <devnull@localhost>2009-01-06 14:02:45 +0000
commit9556ffaa5bf76f0cbb9ee14e0d0e11df05aadba4 (patch)
treef92fb3b45d60c4ed8c694967a17c6e6ac30f332f
parentd2bec764b7695a62aaab414f5b4eb7ae3a171040 (diff)
downloadvim-9556ffaa5bf76f0cbb9ee14e0d0e11df05aadba4.tar.gz
updated for version 7.2-078v7.2.078v7-2-078
-rw-r--r--src/fold.c18
-rw-r--r--src/version.c2
2 files changed, 14 insertions, 6 deletions
diff --git a/src/fold.c b/src/fold.c
index 1fe7c5a1..6567906b 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -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,