updated for version 7.4a.026
Problem: ":diffoff" does not remove folds. (Ramel)
Solution: Do not restore 'foldenable' when 'foldmethod' is "manual".
diff --git a/src/diff.c b/src/diff.c
index 92648a3..80f4473 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -1235,10 +1235,19 @@
curbuf = curwin->w_buffer;
if (wp->w_p_fdc == diff_foldcolumn)
wp->w_p_fdc = wp->w_p_diff_saved ? wp->w_p_fdc_save : 0;
- if (wp->w_p_fen)
- wp->w_p_fen = wp->w_p_diff_saved ? wp->w_p_fen_save : FALSE;
if (wp->w_p_fdl == 0 && wp->w_p_diff_saved)
wp->w_p_fdl = wp->w_p_fdl_save;
+
+ if (wp->w_p_fen)
+ {
+ /* Only restore 'foldenable' when 'foldmethod' is not
+ * "manual", otherwise we continue to show the diff folds. */
+ if (foldmethodIsManual(wp) || !wp->w_p_diff_saved)
+ wp->w_p_fen = FALSE;
+ else
+ wp->w_p_fen = wp->w_p_fen_save;
+ }
+
foldUpdateAll(wp);
/* make sure topline is not halfway a fold */
changed_window_setting_win(wp);
diff --git a/src/version.c b/src/version.c
index 558649b..eb48ddd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -728,6 +728,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 26,
+/**/
25,
/**/
24,