From b98cec28d95b2184c64a0646458c1e62deb2524b Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 25 Apr 2021 16:35:55 +0200 Subject: [PATCH] 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) --- src/errors.h | 4 ++-- src/ex_docmd.c | 5 ++++- src/testdir/test_vim9_cmd.vim | 18 +++++++++++++----- src/version.c | 2 ++ 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/errors.h b/src/errors.h index 0781ca150..3d12c1d63 100644 --- 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 index 46d811526..1c41036a4 100644 --- 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 index 401cc0f4c..5732e1eea 100644 --- 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 + + 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 index 53735b27f..35d7a59c2 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2811, /**/ 2810, /**/ -- 2.40.0