diff src/testdir/test_nested_function.vim @ 10488:89200fa1d174 v8.0.0137

commit https://github.com/vim/vim/commit/777b30f827bcbe10a40640b1bf0361cb93a16be1 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jan 2 15:26:27 2017 +0100 patch 8.0.0137 Problem: When 'maxfuncdepth' is set above 200 the nesting is limited to 200. (Brett Stahlman) Solution: Allow for Ex command recursion depending on 'maxfuncdepth'.
author Christian Brabandt <cb@256bit.org>
date Mon, 02 Jan 2017 15:30:04 +0100
parents 14a82c6433be
children bd5bec6291cc
line wrap: on
line diff
--- a/src/testdir/test_nested_function.vim
+++ b/src/testdir/test_nested_function.vim
@@ -40,3 +40,24 @@ func Test_nested_argument()
   delfunc g:X
   unlet g:Y
 endfunc
+
+func Recurse(count)
+  if a:count > 0
+    call Recurse(a:count - 1)
+  endif
+endfunc
+
+func Test_max_nesting()
+  let call_depth_here = 2
+  let ex_depth_here = 5
+  set mfd&
+
+  call Recurse(99 - call_depth_here)
+  call assert_fails('call Recurse(' . (100 - call_depth_here) . ')', 'E132:')
+
+  set mfd=210
+  call Recurse(209 - ex_depth_here)
+  call assert_fails('call Recurse(' . (210 - ex_depth_here) . ')', 'E169:')
+
+  set mfd&
+endfunc