]> granicus.if.org Git - vim/commitdiff
patch 8.2.2811: Vim9: error for missing white space doesn't say where v8.2.2811
authorBram Moolenaar <Bram@vim.org>
Sun, 25 Apr 2021 14:35:55 +0000 (16:35 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 25 Apr 2021 14:35:55 +0000 (16:35 +0200)
Problem:    Vim9: error for missing white space doesn't say where it is
            missing
Solution:   Mention the command. (closes #8149)

src/errors.h
src/ex_docmd.c
src/testdir/test_vim9_cmd.vim
src/version.c

index 0781ca150f655a71f4f60f4e9587ab22416ce829..3d12c1d6337aaf3e097c83622a992611477cf94e 100644 (file)
@@ -323,8 +323,8 @@ EXTERN char e_non_empty_string_required[]
        INIT(= N_("E1142: Non-empty string required"));
 EXTERN char e_empty_expression_str[]
        INIT(= N_("E1143: Empty expression: \"%s\""));
-EXTERN char e_command_not_followed_by_white_space_str[]
-       INIT(= N_("E1144: Command is not followed by white space: %s"));
+EXTERN char e_command_str_not_followed_by_white_space_str[]
+       INIT(= N_("E1144: Command \"%s\" is not followed by white space: %s"));
 EXTERN char e_missing_heredoc_end_marker_str[]
        INIT(= N_("E1145: Missing heredoc end marker: %s"));
 EXTERN char e_command_not_recognized_str[]
index 46d8115268075e7a2e318abce315c11b6825f459..1c41036a4aa7b9f2cd4b6842f6cc410376205c94 100644 (file)
@@ -3673,8 +3673,11 @@ find_ex_command(
            && (eap->cmdidx < 0 ||
                (cmdnames[eap->cmdidx].cmd_argt & EX_NONWHITE_OK) == 0))
     {
-       semsg(_(e_command_not_followed_by_white_space_str), eap->cmd);
+       char_u *cmd = vim_strnsave(eap->cmd, p - eap->cmd);
+
+       semsg(_(e_command_str_not_followed_by_white_space_str), cmd, eap->cmd);
        eap->cmdidx = CMD_SIZE;
+       vim_free(cmd);
     }
 #endif
 
index 401cc0f4cc747e36757927bd255f35c5e67ce269..5732e1eea47d37055ebcf16c03175ce6d931fafa 100644 (file)
@@ -984,18 +984,26 @@ def Test_user_command_comment()
   command -nargs=1 Comd echom <q-args>
 
   var lines =<< trim END
-    vim9script
-    Comd # comment
+      vim9script
+      Comd # comment
   END
   CheckScriptSuccess(lines)
 
   lines =<< trim END
-    vim9script
-    Comd# comment
+      vim9script
+      Comd# comment
   END
   CheckScriptFailure(lines, 'E1144:')
-
   delcommand Comd
+
+  lines =<< trim END
+      vim9script
+      command Foo echo 'Foo'
+      Foo3Bar
+  END
+  CheckScriptFailure(lines, 'E1144: Command "Foo" is not followed by white space: Foo3Bar')
+
+  delcommand Foo
 enddef
 
 def Test_star_command()
index 53735b27ff306a301caf99151238efee58cadea4..35d7a59c2d16a30f57e0cfc2dbb733657d586b4e 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2811,
 /**/
     2810,
 /**/