patch 8.2.2539: Vim9: return from finally block causes a hang
Problem: Vim9: return from finally block causes a hang.
Solution: Store both the finally and endtry indexes. (closes #7885)
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index eb46d35..0fb09fd 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -577,6 +577,16 @@
counter += 1
endfor
assert_equal(4, counter)
+
+ # return in finally after empty catch
+ def ReturnInFinally(): number
+ try
+ finally
+ return 4
+ endtry
+ return 2
+ enddef
+ assert_equal(4, ReturnInFinally())
enddef
def Test_cnext_works_in_catch()