Fixed: on MS-Windows completion of shell commands didn't work.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 0d91a0b..b338ed5 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3423,17 +3423,16 @@
 	    xp->xp_pattern = bow;
 	xp->xp_context = EXPAND_FILES;
 
-#ifndef BACKSLASH_IN_FILENAME
 	/* For a shell command more chars need to be escaped. */
 	if (usefilter || ea.cmdidx == CMD_bang)
 	{
+#ifndef BACKSLASH_IN_FILENAME
 	    xp->xp_shell = TRUE;
-
+#endif
 	    /* When still after the command name expand executables. */
 	    if (xp->xp_pattern == skipwhite(arg))
 		xp->xp_context = EXPAND_SHELLCMD;
 	}
-#endif
 
 	/* Check for environment variable */
 	if (*xp->xp_pattern == '$'
diff --git a/src/structs.h b/src/structs.h
index 31f71d2..884d6a9 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -457,8 +457,8 @@
 #endif
     int		xp_backslash;		/* one of the XP_BS_ values */
 #ifndef BACKSLASH_IN_FILENAME
-    int		xp_shell;		/* for a shell command more characters
-					   need to be escaped */
+    int		xp_shell;		/* TRUE for a shell command, more
+					   characters need to be escaped */
 #endif
     int		xp_numfiles;		/* number of files found by
 						    file name completion */