mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.1182: Vim9: no check for whitespace after comma in lambda
Problem: Vim9: no check for whitespace after comma in lambda. Solution: Give error if white space is missing.
This commit is contained in:
@@ -1067,10 +1067,11 @@ def Test_expr7_list_vim9script()
|
|||||||
enddef
|
enddef
|
||||||
|
|
||||||
def Test_expr7_lambda()
|
def Test_expr7_lambda()
|
||||||
" lambda
|
|
||||||
let La = { -> 'result'}
|
let La = { -> 'result'}
|
||||||
assert_equal('result', La())
|
assert_equal('result', La())
|
||||||
assert_equal([1, 3, 5], [1, 2, 3]->map({key, val -> key + val}))
|
assert_equal([1, 3, 5], [1, 2, 3]->map({key, val -> key + val}))
|
||||||
|
|
||||||
|
call CheckDefFailure(["filter([1, 2], {k,v -> 1})"], 'E1069:')
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
def Test_expr7_lambda_vim9script()
|
def Test_expr7_lambda_vim9script()
|
||||||
|
@@ -967,7 +967,7 @@ enddef
|
|||||||
|
|
||||||
def Line_continuation_in_lambda(): list<number>
|
def Line_continuation_in_lambda(): list<number>
|
||||||
let x = range(97, 100)
|
let x = range(97, 100)
|
||||||
->map({_,v -> nr2char(v)
|
->map({_, v -> nr2char(v)
|
||||||
->toupper()})
|
->toupper()})
|
||||||
->reverse()
|
->reverse()
|
||||||
return x
|
return x
|
||||||
|
@@ -266,10 +266,20 @@ get_function_args(
|
|||||||
else if (any_default)
|
else if (any_default)
|
||||||
{
|
{
|
||||||
emsg(_("E989: Non-default argument follows default argument"));
|
emsg(_("E989: Non-default argument follows default argument"));
|
||||||
mustend = TRUE;
|
goto err_ret;
|
||||||
}
|
}
|
||||||
if (*p == ',')
|
if (*p == ',')
|
||||||
|
{
|
||||||
++p;
|
++p;
|
||||||
|
// Don't give this error when skipping, it makes the "->" not
|
||||||
|
// found in "{k,v -> x}" and give a confusing error.
|
||||||
|
if (!skip && in_vim9script()
|
||||||
|
&& !IS_WHITE_OR_NUL(*p) && *p != endchar)
|
||||||
|
{
|
||||||
|
semsg(_(e_white_after), ",");
|
||||||
|
goto err_ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
mustend = TRUE;
|
mustend = TRUE;
|
||||||
}
|
}
|
||||||
|
@@ -754,6 +754,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1182,
|
||||||
/**/
|
/**/
|
||||||
1181,
|
1181,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user