updated for version 7.3.523
Problem:    ":diffupdate" doesn't check for files changed elsewhere.
Solution:   Add the ! flag. (Christian Brabandt)
diff --git a/src/diff.c b/src/diff.c
index 5844ec9..d9aaec8 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -783,6 +783,15 @@
 	goto theend;
     }
 
+    /* :diffupdate! */
+    if (eap != NULL && eap->forceit)
+	for (idx_new = idx_orig; idx_new < DB_COUNT; ++idx_new)
+	{
+	    buf = curtab->tp_diffbuf[idx_new];
+	    if (buf_valid(buf))
+		buf_check_timestamp(buf, FALSE);
+	}
+
     /* Write the first buffer to a tempfile. */
     buf = curtab->tp_diffbuf[idx_orig];
     if (diff_write(buf, tmp_orig) == FAIL)
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 16540bd..ac61f1a 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -304,7 +304,7 @@
 EX(CMD_display,		"display",	ex_display,
 			EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN),
 EX(CMD_diffupdate,	"diffupdate",	ex_diffupdate,
-			TRLBAR),
+			BANG|TRLBAR),
 EX(CMD_diffget,		"diffget",	ex_diffgetput,
 			RANGE|EXTRA|TRLBAR|MODIFY),
 EX(CMD_diffoff,		"diffoff",	ex_diffoff,
diff --git a/src/version.c b/src/version.c
index 0c866c5..82672b1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    523
+/**/
     522,
 /**/
     521,