changeset 16750:8050cde51945 v8.1.1377

patch 8.1.1377: MS-Windows GUI uses wrong shell command for bash commit https://github.com/vim/vim/commit/fcc4d921d6761b833ae89ca3dc450c48c270ca36 Author: Bram Moolenaar <Bram@vim.org> Date: Fri May 24 13:32:36 2019 +0200 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 https://github.com/vim/vim/issues/4418)
author Bram Moolenaar <Bram@vim.org>
date Fri, 24 May 2019 13:45:05 +0200
parents dcdc2fd828be
children 29ae90e9f16a
files src/os_win32.c src/version.c
diffstat 2 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -4856,27 +4856,25 @@ mch_call_shell(
 		    (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);
 	    }
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1377,
+/**/
     1376,
 /**/
     1375,