From 54f425adc5ecf2b6601a4d7bac25fb0a05902633 Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Mon, 14 Apr 2014 14:25:15 +0200 Subject: vim-patch:7.4.233 Problem: Escaping special characters for using "%" with a shell command is inconsistant: parentheses are escaped but spaces are not. Solution: Only escape "!". (Gary Johnson) https://code.google.com/p/vim/source/detail?r=22a1d5762ba3a75984e89dcc47a65498f63a6c2c --- src/ex_docmd.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'src/ex_docmd.c') diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 225bc747b8..e4041cf862 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3704,21 +3704,13 @@ int expand_filename(exarg_T *eap, char_u **cmdlinep, char_u **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; - } - } } } -- cgit