updated for version 7.3.523
Problem:    ":diffupdate" doesn't check for files changed elsewhere.
Solution:   Add the ! flag. (Christian Brabandt)
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 288ddd7..bf40afa 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -178,7 +178,7 @@
 nodiff" before hiding it.
 
 							*:diffu* *:diffupdate*
-:diffu[pdate]			Update the diff highlighting and folds.
+:diffu[pdate][!]		Update the diff highlighting and folds.
 
 Vim attempts to keep the differences updated when you make changes to the
 text.  This mostly takes care of inserted and deleted lines.  Changes within a
@@ -187,6 +187,9 @@
 
 	:diffupdate
 
+If the ! is included Vim will check if the file was changed externally and
+needs to be reloaded.  It will prompt for each changed file, like `:checktime`
+was used.
 
 Vim will show filler lines for lines that are missing in one window but are
 present in another.  These lines were inserted in another file or deleted in
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,