Mercurial > vim
changeset 24543:b3bd27751e09 v8.2.2811
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 <Bram@vim.org>
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 25 Apr 2021 16:45:03 +0200 |
parents | 8d5235a3f487 |
children | ed8d91abc6eb |
files | src/errors.h src/ex_docmd.c src/testdir/test_vim9_cmd.vim src/version.c |
diffstat | 4 files changed, 21 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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[]
--- 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
--- 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 <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 - 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()