From ee7d100091f73a19cb82173a7c69832a738388ce Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Wed, 22 Feb 2012 15:34:08 +0100
Subject: [PATCH] updated for version 7.3.450 Problem:    Win32: Still a
 problem with "!start /b". Solution:   Fix pointer use. (Yasuhiro Matsumoto)

---
 src/os_win32.c | 10 ++++++----
 src/version.c  |  2 ++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/os_win32.c b/src/os_win32.c
index 2f764d3dc9..57f004ec24 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -4008,21 +4008,23 @@ mch_call_shell(
 	    if (flags != CREATE_NEW_CONSOLE)
 	    {
 		char_u	*subcmd;
-		char_u	*cmd_shell = default_shell();
+		char_u	*cmd_shell = mch_getenv("COMSPEC");
+
+		if (cmd_shell == NULL || *cmd_shell == NUL)
+		    cmd_shell = default_shell();
 
 		subcmd = vim_strsave_escaped_ext(cmdbase, "|", '^', FALSE);
 		if (subcmd != NULL)
 		{
 		    /* make "cmd.exe /c arguments" */
 		    cmdlen = STRLEN(cmd_shell) + STRLEN(subcmd) + 5;
-		    vim_free(subcmd);
-
 		    newcmd = lalloc(cmdlen, TRUE);
 		    if (newcmd != NULL)
 			vim_snprintf((char *)newcmd, cmdlen, "%s /c %s",
-						       default_shell, subcmd);
+						       cmd_shell, subcmd);
 		    else
 			newcmd = cmdbase;
+		    vim_free(subcmd);
 		}
 	    }
 
diff --git a/src/version.c b/src/version.c
index f4c76372db..119ad48764 100644
--- a/src/version.c
+++ b/src/version.c
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    450,
 /**/
     449,
 /**/
-- 
GitLab