diff options
author | Zhaosheng Pan <brglng@gmail.com> | 2015-06-03 19:01:17 +0800 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-09-10 22:21:40 +0200 |
commit | 0991041ae72e866add2a820a6b0401d21b9a8fab (patch) | |
tree | 830b721746e9734b221210d7dbaac32c5186a399 /src/nvim/misc2.c | |
parent | bccb49bedb9b5fe0a3635e2be4aa2d168c5d3051 (diff) | |
download | rneovim-0991041ae72e866add2a820a6b0401d21b9a8fab.tar.gz rneovim-0991041ae72e866add2a820a6b0401d21b9a8fab.tar.bz2 rneovim-0991041ae72e866add2a820a6b0401d21b9a8fab.zip |
system(): Respect 'sxe' and 'sxq' #2789
Fixes #2773
Diffstat (limited to 'src/nvim/misc2.c')
-rw-r--r-- | src/nvim/misc2.c | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/src/nvim/misc2.c b/src/nvim/misc2.c index 368f83cfb5..8b4d8c7c3e 100644 --- a/src/nvim/misc2.c +++ b/src/nvim/misc2.c @@ -281,7 +281,6 @@ int default_fileformat(void) // Call shell. Calls os_call_shell, with 'shellxquote' added. int call_shell(char_u *cmd, ShellOpts opts, char_u *extra_shell_arg) { - char_u *ncmd; int retval; proftime_T wait_time; @@ -303,28 +302,7 @@ int call_shell(char_u *cmd, ShellOpts opts, char_u *extra_shell_arg) /* The external command may update a tags file, clear cached tags. */ tag_freematch(); - if (cmd == NULL || *p_sxq == NUL) - retval = os_call_shell(cmd, opts, extra_shell_arg); - else { - char_u *ecmd = cmd; - - if (*p_sxe != NUL && STRCMP(p_sxq, "(") == 0) { - ecmd = vim_strsave_escaped_ext(cmd, p_sxe, '^', FALSE); - } - ncmd = xmalloc(STRLEN(ecmd) + STRLEN(p_sxq) * 2 + 1); - STRCPY(ncmd, p_sxq); - STRCAT(ncmd, ecmd); - /* 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 = os_call_shell(ncmd, opts, extra_shell_arg); - xfree(ncmd); - - if (ecmd != cmd) - xfree(ecmd); - } + retval = os_call_shell(cmd, opts, extra_shell_arg); } set_vim_var_nr(VV_SHELL_ERROR, (varnumber_T) retval); |