diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/testdir/test_vim9_func.vim | 13 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9compile.c | 1 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index 2965afac8..ffb8de48d 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -488,6 +488,19 @@ def Test_missing_return() 'enddef'], 'E1095:') enddef +def Test_not_missing_return() + var lines =<< trim END + def Funky(): number + if false + return 0 + endif + throw 'Error' + enddef + defcompile + END + v9.CheckScriptSuccess(lines) +enddef + def Test_return_bool() var lines =<< trim END vim9script diff --git a/src/version.c b/src/version.c index 292f2285f..c0c1ca0d9 100644 --- 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 */ /**/ + 1556, +/**/ 1555, /**/ 1554, diff --git a/src/vim9compile.c b/src/vim9compile.c index 477f5eed7..b894c6f29 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -3611,6 +3611,7 @@ compile_def_function( break; case CMD_throw: line = compile_throw(p, &cctx); + cctx.ctx_had_return = TRUE; break; case CMD_eval: |