summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c3
1 files changed, 2 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)