summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-04-01 18:54:48 +0200
committerBram Moolenaar <Bram@vim.org>2014-04-01 18:54:48 +0200
commit31b7d38611541030fe54898a7d8b6a714fa0fa59 (patch)
tree37c8b04cb85c0b1c96b022f338ff6cda5eb90732
parentfd3fe98b78edb10f2d439b0c6d56e6d70eecb92d (diff)
updated for version 7.4.233v7.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)
-rw-r--r--src/ex_docmd.c14
-rw-r--r--src/version.c2
2 files changed, 4 insertions, 12 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index f1aa60798d..b616740751 100644
--- 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;
- }
- }
}
}
diff --git a/src/version.c b/src/version.c
index 1780946fc5..0fcea78a33 100644
--- 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,