After recovery check if the text changed. If it did mark the buffer as
modified.
diff --git a/src/misc1.c b/src/misc1.c
index ffd0b83..d476f31 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -2514,19 +2514,28 @@
msg_scroll = save_msg_scroll;
}
}
- curbuf->b_changed = TRUE;
- ml_setflags(curbuf);
-#ifdef FEAT_WINDOWS
- check_status(curbuf);
- redraw_tabline = TRUE;
-#endif
-#ifdef FEAT_TITLE
- need_maketitle = TRUE; /* set window title later */
-#endif
+ changed_int();
}
++curbuf->b_changedtick;
}
+/*
+ * Internal part of changed(), no user interaction.
+ */
+ void
+changed_int()
+{
+ curbuf->b_changed = TRUE;
+ ml_setflags(curbuf);
+#ifdef FEAT_WINDOWS
+ check_status(curbuf);
+ redraw_tabline = TRUE;
+#endif
+#ifdef FEAT_TITLE
+ need_maketitle = TRUE; /* set window title later */
+#endif
+}
+
static void changedOneline __ARGS((buf_T *buf, linenr_T lnum));
static void changed_lines_buf __ARGS((buf_T *buf, linenr_T lnum, linenr_T lnume, long xtra));
static void changed_common __ARGS((linenr_T lnum, colnr_T col, linenr_T lnume, long xtra));