summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2012-02-22 15:34:08 +0100
committerBram Moolenaar <bram@vim.org>2012-02-22 15:34:08 +0100
commitc8ccf872e0a17e5ef2e4d189519c4834d333c105 (patch)
tree52c0881cbddc56a82b24e96fe19ac36dff65e7be
parent7c87c18f26578b3eb835715260342f93b5676841 (diff)
downloadvim-c8ccf872e0a17e5ef2e4d189519c4834d333c105.tar.gz
updated for version 7.3.450v7.3.450v7-3-450
Problem: Win32: Still a problem with "!start /b". Solution: Fix pointer use. (Yasuhiro Matsumoto)
-rw-r--r--src/os_win32.c10
-rw-r--r--src/version.c2
2 files changed, 8 insertions, 4 deletions
diff --git a/src/os_win32.c b/src/os_win32.c
index 2f764d3d..57f004ec 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 f4c76372..119ad487 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 450,
+/**/
449,
/**/
448,