forked from aniani/vim
patch 8.2.1719: Vim9: no error if comma is missing in between arguments
Problem: Vim9: no error if comma is missing in between arguments. Solution: Give an error message.
This commit is contained in:
parent
b816dae16d
commit
10e4f12bf4
@ -268,4 +268,6 @@ EXTERN char e_cannot_change_dict_item[]
|
||||
INIT(= N_("E1121: Cannot change dict item"));
|
||||
EXTERN char e_variable_is_locked_str[]
|
||||
INIT(= N_("E1122: Variable is locked: %s"));
|
||||
EXTERN char e_missing_comma_before_argument_str[]
|
||||
INIT(= N_("E1123: Missing comma before argument: %s"));
|
||||
#endif
|
||||
|
@ -2112,6 +2112,7 @@ def Test_expr7_call()
|
||||
"vim9script",
|
||||
"let x = substitute ('x', 'x', 'x', 'x')"
|
||||
], 'E121:', 2)
|
||||
CheckDefFailure(["let Ref = function('len' [1, 2])"], 'E1123:', 1)
|
||||
|
||||
let auto_lines =<< trim END
|
||||
def g:some#func(): string
|
||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1719,
|
||||
/**/
|
||||
1718,
|
||||
/**/
|
||||
|
@ -2290,6 +2290,7 @@ compile_arguments(char_u **arg, cctx_T *cctx, int *argcount)
|
||||
{
|
||||
char_u *p = *arg;
|
||||
char_u *whitep = *arg;
|
||||
int must_end = FALSE;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
@ -2300,6 +2301,11 @@ compile_arguments(char_u **arg, cctx_T *cctx, int *argcount)
|
||||
*arg = p + 1;
|
||||
return OK;
|
||||
}
|
||||
if (must_end)
|
||||
{
|
||||
semsg(_(e_missing_comma_before_argument_str), p);
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
if (compile_expr0(&p, cctx) == FAIL)
|
||||
return FAIL;
|
||||
@ -2316,6 +2322,8 @@ compile_arguments(char_u **arg, cctx_T *cctx, int *argcount)
|
||||
if (*p != NUL && !VIM_ISWHITE(*p))
|
||||
semsg(_(e_white_space_required_after_str), ",");
|
||||
}
|
||||
else
|
||||
must_end = TRUE;
|
||||
whitep = p;
|
||||
p = skipwhite(p);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user