updated for version 7.4b.005
Problem:    Finding %s in shellpipe and shellredir does not ignore %%s.
Solution:   Skip over %%. (lcd 47)
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 66e1702..cc4cedf 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -1622,10 +1622,14 @@
     char_u	*end;
 
     end = buf + STRLEN(buf);
-    /* find "%s", skipping "%%" */
+    /* find "%s" */
     for (p = opt; (p = vim_strchr(p, '%')) != NULL; ++p)
-	if (p[1] == 's')
+    {
+	if (p[1] == 's') /* found %s */
 	    break;
+	if (p[1] == '%') /* skip %% */
+	    ++p;
+    }
     if (p != NULL)
     {
 	*end = ' '; /* not really needed? Not with sh, ksh or bash */