patch 8.2.2001: Vim9: :def function does not apply 'maxfuncdepth'
Problem: Vim9: :def function does not apply 'maxfuncdepth'.
Solution: Use 'maxfuncdepth'. (issue #7313)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index a3f2149..bbfce23 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -49,6 +49,36 @@
call delete('XTest_compile_error')
enddef
+def CallRecursive(n: number): number
+ return CallRecursive(n + 1)
+enddef
+
+def CallMapRecursive(l: list<number>): number
+ return map(l, {_, v -> CallMapRecursive([v])})[0]
+enddef
+
+def Test_funcdepth_error()
+ set maxfuncdepth=10
+
+ var caught = false
+ try
+ CallRecursive(1)
+ catch /E132:/
+ caught = true
+ endtry
+ assert_true(caught)
+
+ caught = false
+ try
+ CallMapRecursive([1])
+ catch /E132:/
+ caught = true
+ endtry
+ assert_true(caught)
+
+ set maxfuncdepth&
+enddef
+
def ReturnString(): string
return 'string'
enddef