patch 8.1.0394: diffs are not always updated correctly
Problem: Diffs are not always updated correctly.
Solution: When using internal diff update for any changes properly.
diff --git a/src/misc1.c b/src/misc1.c
index f9055e6..28e44da 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -3093,7 +3093,7 @@
changed_lines_buf(curbuf, lnum, lnume, xtra);
#ifdef FEAT_DIFF
- if (xtra == 0 && curwin->w_p_diff)
+ if (xtra == 0 && curwin->w_p_diff && !diff_internal())
{
/* When the number of lines doesn't change then mark_adjust() isn't
* called and other diff buffers still need to be marked for
@@ -3173,6 +3173,11 @@
/* mark the buffer as modified */
changed();
+#ifdef FEAT_DIFF
+ if (curwin->w_p_diff && diff_internal())
+ curtab->tp_diff_update = TRUE;
+#endif
+
/* set the '. mark */
if (!cmdmod.keepjumps)
{