updated for version 7.4.090
Problem:    Win32: When a directory name contains an exclamation mark,
            completion doesn't complete the contents of the directory.
Solution:   Escape the exclamation mark. (Jan Stocker)
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 906eb8b..f1f39d2 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -3852,9 +3852,9 @@
     char_u	buf[20];
     int		j = 0;
 
-    /* Don't escape '[' and '{' if they are in 'isfname'. */
+    /* Don't escape '[', '{' and '!' if they are in 'isfname'. */
     for (p = PATH_ESC_CHARS; *p != NUL; ++p)
-	if ((*p != '[' && *p != '{') || !vim_isfilec(*p))
+	if ((*p != '[' && *p != '{' && *p != '!') || !vim_isfilec(*p))
 	    buf[j++] = *p;
     buf[j] = NUL;
     p = vim_strsave_escaped(fname, buf);