changeset 5778:22a1d5762ba3 v7.4.233

updated for version 7.4.233 Problem: Escaping special characters for using "%" with a shell command is inconsistant, parenthesis are escaped but spaces are not. Solution: Only escape "!". (Gary Johnson)
author Bram Moolenaar <bram@vim.org>
date Tue, 01 Apr 2014 18:54:48 +0200
parents 5bd7c9d7e026
children efce50628d78
files src/ex_docmd.c src/version.c
diffstat 2 files changed, 4 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4580,25 +4580,15 @@ expand_filename(eap, cmdlinep, errormsgp
 
 	/* For a shell command a '!' must be escaped. */
 	if ((eap->usefilter || eap->cmdidx == CMD_bang)
-			    && vim_strpbrk(repl, (char_u *)"!&;()<>") != NULL)
+			    && vim_strpbrk(repl, (char_u *)"!") != NULL)
 	{
 	    char_u	*l;
 
-	    l = vim_strsave_escaped(repl, (char_u *)"!&;()<>");
+	    l = vim_strsave_escaped(repl, (char_u *)"!");
 	    if (l != NULL)
 	    {
 		vim_free(repl);
 		repl = l;
-		/* For a sh-like shell escape "!" another time. */
-		if (strstr((char *)p_sh, "sh") != NULL)
-		{
-		    l = vim_strsave_escaped(repl, (char_u *)"!");
-		    if (l != NULL)
-		    {
-			vim_free(repl);
-			repl = l;
-		    }
-		}
 	    }
 	}
 
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    233,
+/**/
     232,
 /**/
     231,