patch 8.1.1377: MS-Windows GUI uses wrong shell command for bash
Problem: MS-Windows GUI uses wrong shell command for bash. (Robert Bogomip)
Solution: Check that 'shellcmdflag' is "/c". (Ken Takata, closes #4418)
diff --git a/src/os_win32.c b/src/os_win32.c
index 33d48cf..237de97 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -4856,27 +4856,25 @@
(gui.in_use || gui.starting) &&
# endif
!s_dont_use_vimrun && p_stmp)
- /* Use vimrun to execute the command. It opens a console
- * window, which can be closed without killing Vim. */
+ // Use vimrun to execute the command. It opens a console
+ // window, which can be closed without killing Vim.
vim_snprintf((char *)newcmd, cmdlen, "%s%s%s %s %s",
vimrun_path,
(msg_silent != 0 || (options & SHELL_DOOUT))
? "-s " : "",
p_sh, p_shcf, cmd);
- else
+ else if (
# ifdef VIMDLL
- if (gui.in_use || gui.starting)
+ (gui.in_use || gui.starting) &&
# endif
+ STRCMP(p_shcf, "/c") == 0)
+ // workaround for the case that "vimrun" does not exist
vim_snprintf((char *)newcmd, cmdlen, "%s %s %s %s %s",
p_sh, p_shcf, p_sh, p_shcf, cmd);
-# ifdef VIMDLL
else
-# endif
#endif
-#if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
vim_snprintf((char *)newcmd, cmdlen, "%s %s %s",
p_sh, p_shcf, cmd);
-#endif
x = mch_system((char *)newcmd, options);
vim_free(newcmd);
}
diff --git a/src/version.c b/src/version.c
index 26c4071..b2278ed 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1377,
+/**/
1376,
/**/
1375,