# HG changeset patch # User Bram Moolenaar # Date 1375445713 -7200 # Node ID e63e4b4be9236c2d811b5ec7bdd79e387ec8bac9 # Parent 74301ef4297a068c402d32d37133d41211d2b7cf 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 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -1622,10 +1622,14 @@ append_redir(buf, buflen, opt, fname) 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 */ diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -728,6 +728,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 5, +/**/ 4, /**/ 3,