# HG changeset patch # User Bram Moolenaar # Date 1676735103 -3600 # Node ID c1b076c53a38a0898cbaef59c0abb75b3c06a29b # Parent 1faf76a9e05d47f4d30e24c9f596f0d756480dba patch 9.0.1321: vimscript test fails where using {expr} syntax Commit: https://github.com/vim/vim/commit/d114975b9bec30ec1486ebc70db6b802d0f1cfb8 Author: Bram Moolenaar Date: Sat Feb 18 15:31:53 2023 +0000 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 --- 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 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1321, +/**/ 1320, /**/ 1319,