From d114975b9bec30ec1486ebc70db6b802d0f1cfb8 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 18 Feb 2023 15:31:53 +0000 Subject: 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. --- src/userfunc.c | 6 +++++- src/version.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/userfunc.c b/src/userfunc.c index d5dd36989..c3b2a2535 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 20df49098..41822fdf4 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, /**/ -- cgit v1.2.1