]> granicus.if.org Git - vim/commitdiff
patch 7.4.1544 v7.4.1544
authorBram Moolenaar <Bram@vim.org>
Sat, 12 Mar 2016 14:58:34 +0000 (15:58 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 12 Mar 2016 14:58:34 +0000 (15:58 +0100)
Problem:    On Win32 escaping the command does not work properly.
Solution:   Reset 'ssl' when escaping the command. (Yasuhiro Matsumoto)

src/channel.c
src/version.c

index 8f70da2762ccc7576b6b48b0d0e16335e0ff640d..99f053a2f493528f684f5d9a26529d35c5dd24e1 100644 (file)
@@ -3625,7 +3625,17 @@ job_start(typval_T *argvars)
            /* Only escape when needed, double quotes are not always allowed. */
            if (li != l->lv_first && vim_strpbrk(s, (char_u *)" \t\"") != NULL)
            {
+# ifdef WIN32
+               int old_ssl = p_ssl;
+
+               /* This is using CreateProcess, not cmd.exe.  Always use
+                * double quote and backslashes. */
+               p_ssl = 0;
+# endif
                s = vim_strsave_shellescape(s, FALSE, TRUE);
+# ifdef WIN32
+               p_ssl = old_ssl;
+# endif
                if (s == NULL)
                    goto theend;
                ga_concat(&ga, s);
index 2eb011484ae0b14c34dd5f73021d623ee7b84451..f907012ab67828d3b959b9b5d21714e4a5573491 100644 (file)
@@ -743,6 +743,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1544,
 /**/
     1543,
 /**/