diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-02-29 21:05:48 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-02-29 21:05:48 +0100 |
commit | a86f14a923d9a242107c16d0852f61f3daf985a8 (patch) | |
tree | 568efae89bd963460c4e0032b54b31911f898115 | |
parent | fdcc9afb71ea88fe63bbed8bad0d5bae607bfb73 (diff) | |
download | vim-git-a86f14a923d9a242107c16d0852f61f3daf985a8.tar.gz |
patch 7.4.1461v7.4.1461
Problem: When starting job on MS-Windows all parts of the command are put
in quotes.
Solution: Only use quotes when needed. (Yasuhiro Matsumoto)
-rw-r--r-- | src/eval.c | 3 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c index a208b2a72..a45b71de5 100644 --- a/src/eval.c +++ b/src/eval.c @@ -15137,7 +15137,8 @@ f_job_start(typval_T *argvars UNUSED, typval_T *rettv) #ifdef USE_ARGV argv[argc++] = (char *)s; #else - if (li != l->lv_first) + /* Only escape when needed, double quotes are not always allowed. */ + if (li != l->lv_first && vim_strpbrk(s, (char_u *)" \t\"") != NULL) { s = vim_strsave_shellescape(s, FALSE, TRUE); if (s == NULL) diff --git a/src/version.c b/src/version.c index e4499f15b..45faff9a6 100644 --- a/src/version.c +++ b/src/version.c @@ -744,6 +744,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1461, +/**/ 1460, /**/ 1459, |