mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Problem: Vim9: return in try block not tested; catch with pattern not tested. Solution: Add tests. Make it work.
This commit is contained in:
@@ -1065,6 +1065,7 @@ call_def_function(
|
||||
trycmd->tcd_frame = ectx.ec_frame;
|
||||
trycmd->tcd_catch_idx = iptr->isn_arg.try.try_catch;
|
||||
trycmd->tcd_finally_idx = iptr->isn_arg.try.try_finally;
|
||||
trycmd->tcd_caught = FALSE;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1109,7 +1110,7 @@ call_def_function(
|
||||
--trylevel;
|
||||
trycmd = ((trycmd_T *)trystack->ga_data)
|
||||
+ trystack->ga_len;
|
||||
if (trycmd->tcd_caught)
|
||||
if (trycmd->tcd_caught && current_exception != NULL)
|
||||
{
|
||||
// discard the exception
|
||||
if (caught_stack == current_exception)
|
||||
|
Reference in New Issue
Block a user