# HG changeset patch # User Bram Moolenaar # Date 1619361903 -7200 # Node ID b3bd27751e09712419710f41e19ea98ce179b763 # Parent 8d5235a3f48722c344142ecab3d7cb13dd7644a1 patch 8.2.2811: Vim9: error for missing white space doesn't say where Commit: https://github.com/vim/vim/commit/b98cec28d95b2184c64a0646458c1e62deb2524b Author: Bram Moolenaar Date: Sun Apr 25 16:35:55 2021 +0200 patch 8.2.2811: Vim9: error for missing white space doesn't say where Problem: Vim9: error for missing white space doesn't say where it is missing Solution: Mention the command. (closes #8149) diff --git a/src/errors.h b/src/errors.h --- a/src/errors.h +++ b/src/errors.h @@ -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[] diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -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 diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim --- a/src/testdir/test_vim9_cmd.vim +++ b/src/testdir/test_vim9_cmd.vim @@ -984,18 +984,26 @@ def Test_user_command_comment() command -nargs=1 Comd echom 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 - 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() diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2811, +/**/ 2810, /**/ 2809,