1
0
forked from aniani/vim

updated for version 7.3.445

Problem:    Can't properly escape commands for cmd.exe.
Solution:   Default 'shellxquote' to '('.  Append ')' to make '(command)'.
            No need to use "/s" for 'shellcmdflag'.
This commit is contained in:
Bram Moolenaar
2012-02-19 18:19:30 +01:00
parent 5dc6252d33
commit 034b115568
4 changed files with 39 additions and 23 deletions

View File

@@ -3230,7 +3230,11 @@ call_shell(cmd, opt)
{
STRCPY(ncmd, p_sxq);
STRCAT(ncmd, cmd);
STRCAT(ncmd, p_sxq);
/* When 'shellxquote' is ( append ).
* When 'shellxquote' is "( append )". */
STRCAT(ncmd, STRCMP(p_sxq, "(") == 0 ? (char_u *)")"
: STRCMP(p_sxq, "\"(") == 0 ? (char_u *)")\""
: p_sxq);
retval = mch_call_shell(ncmd, opt);
vim_free(ncmd);
}