Mercurial > vim
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; - } - } } }