changeset 8338:3e54b31d50c7 v7.4.1461

commit https://github.com/vim/vim/commit/a86f14a923d9a242107c16d0852f61f3daf985a8 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Feb 29 21:05:48 2016 +0100 patch 7.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)
author Christian Brabandt <cb@256bit.org>
date Mon, 29 Feb 2016 21:15:04 +0100
parents 73ce5408007f
children 95f886ce5580
files src/eval.c src/version.c
diffstat 2 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -15137,7 +15137,8 @@ f_job_start(typval_T *argvars UNUSED, ty
 #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)
--- 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,