diff src/ex_cmds.c @ 31020:b0596e8ee3c0 v9.0.0845

patch 9.0.0845: shell command with just space gives strange error Commit: https://github.com/vim/vim/commit/4e7590ec00483077daaa567aa2220bc8df912f3c Author: shane.xb.qian <shane.qian@foxmail.com> Date: Tue Nov 8 21:40:04 2022 +0000 patch 9.0.0845: shell command with just space gives strange error Problem: Shell command with just space gives strange error. Solution: Skip white space at start of the argument. (Christian Brabandt, Shane-XB-Qian, closes #11515, closes #11495)
author Bram Moolenaar <Bram@vim.org>
date Tue, 08 Nov 2022 22:45:04 +0100
parents 6d6545c99597
children 30ea99dff3be
line wrap: on
line diff
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -899,11 +899,13 @@ do_bang(
     }
 
     /*
-     * Try to find an embedded bang, like in :!<cmd> ! [args]
-     * (:!! is indicated by the 'forceit' variable)
+     * Try to find an embedded bang, like in ":!<cmd> ! [args]"
+     * ":!!" is indicated by the 'forceit' variable.
      */
     ins_prevcmd = forceit;
-    trailarg = arg;
+
+    // Skip leading white space to avoid a strange error with some shells.
+    trailarg = skipwhite(arg);
     do
     {
 	len = (int)STRLEN(trailarg) + 1;