diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim index 6b9b54a58..c181b203f 100644 --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -1963,6 +1963,11 @@ def Test_expr7_lambda_block() assert_equal(['no', 'yes', 'no'], dll) END CheckDefAndScriptSuccess(lines) + + lines =<< trim END + map([1, 2], (k, v) => { redrawt }) + END + CheckDefAndScriptFailure(lines, 'E488') enddef def NewLambdaWithComments(): func diff --git a/src/userfunc.c b/src/userfunc.c index a53c4769c..c9c7bc791 100644 --- a/src/userfunc.c +++ b/src/userfunc.c @@ -954,10 +954,15 @@ lambda_function_body( int lnum_save = -1; linenr_T sourcing_lnum_top = SOURCING_LNUM; + if (!ends_excmd2(*arg, skipwhite(*arg + 1))) + { + semsg(_(e_trailing_arg), *arg + 1); + return FAIL; + } + CLEAR_FIELD(eap); eap.cmdidx = CMD_block; eap.forceit = FALSE; - eap.arg = *arg + 1; eap.cmdlinep = &cmdline; eap.skip = !evaluate; if (evalarg->eval_cctx != NULL) diff --git a/src/version.c b/src/version.c index 3a5365a86..fbe38b806 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 */ +/**/ + 2642, /**/ 2641, /**/