0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.2.1943: Vim9: wrong error message when colon is missing

Problem:    Vim9: wrong error message when colon is missing.
Solution:   Check for a missing colon. (issue #7239)
This commit is contained in:
Bram Moolenaar 2020-11-02 21:08:47 +01:00
parent dbfa795d8b
commit 36113e46b4
3 changed files with 23 additions and 5 deletions

View File

@ -1807,12 +1807,19 @@ do_one_cmd(
if (ea.cmd == cmd + 1 && *cmd == '$')
// should be "$VAR = val"
--ea.cmd;
else if (ea.cmd > cmd)
{
emsg(_(e_colon_required_before_a_range));
goto doend;
}
p = find_ex_command(&ea, NULL, lookup_scriptvar, NULL);
if (ea.cmdidx == CMD_SIZE)
{
char_u *ar = skip_range(ea.cmd, TRUE, NULL);
// If a ':' before the range is missing, give a clearer error
// message.
if (ar > ea.cmd)
{
emsg(_(e_colon_required_before_a_range));
goto doend;
}
}
}
else
#endif

View File

@ -460,6 +460,15 @@ def Test_command_modifier_other()
# verbose
enddef
def Test_range_after_command_modifier()
CheckScriptFailure(['vim9script', 'silent keepjump 1d _'], 'E1050:', 2)
new
setline(1, 'xxx')
CheckScriptSuccess(['vim9script', 'silent keepjump :1d _'])
assert_equal('', getline(1))
bwipe!
enddef
def Test_eval_command()
var from = 3
var to = 5

View File

@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1943,
/**/
1942,
/**/