vim-patch:8.1.2412: crash when evaluating expression with error (#17109)

This commit is contained in:
zeertzjq 2022-01-31 08:12:44 +08:00 committed by GitHub
parent 4dcc7bcbed
commit 62c8715ee9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -4402,7 +4402,7 @@ static int eval_lambda(char_u **const arg, typval_T *const rettv, const bool eva
rettv->v_type = VAR_UNKNOWN;
int ret = get_lambda_tv(arg, rettv, evaluate);
if (ret == NOTDONE) {
if (ret != OK) {
return FAIL;
} else if (**arg != '(') {
if (verbose) {

View File

@ -303,3 +303,8 @@ func Test_lambda_with_index()
let Extract = {-> function(List, ['foobar'])()[0]}
call assert_equal('foobar', Extract())
endfunc
func Test_lambda_error()
" This was causing a crash
call assert_fails('ec{@{->{d->()()', 'E15')
endfunc