From: Bram Moolenaar Date: Sat, 18 Feb 2023 15:31:53 +0000 (+0000) Subject: patch 9.0.1321: vimscript test fails where using {expr} syntax X-Git-Tag: v9.0.1321 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d114975b9bec30ec1486ebc70db6b802d0f1cfb8;p=thirdparty%2Fvim.git patch 9.0.1321: vimscript test fails where using {expr} syntax Problem: vimscript test fails where using {expr} syntax. Solution: Only return FCERR_FAILED in call_user_func() for Vim9 script. --- diff --git a/src/userfunc.c b/src/userfunc.c index d5dd369898..c3b2a2535a 100644 --- a/src/userfunc.c +++ b/src/userfunc.c @@ -3060,7 +3060,11 @@ call_user_func( clear_tv(rettv); rettv->v_type = VAR_NUMBER; rettv->vval.v_number = -1; - retval = FCERR_FAILED; + + // In corner cases returning a "failed" value is not backwards + // compatible. Only do this for Vim9 script. + if (in_vim9script()) + retval = FCERR_FAILED; } #ifdef FEAT_PROFILE diff --git a/src/version.c b/src/version.c index 20df49098a..41822fdf48 100644 --- a/src/version.c +++ b/src/version.c @@ -695,6 +695,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1321, /**/ 1320, /**/