diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-01-02 15:26:27 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-01-02 15:26:27 +0100 |
commit | 777b30f827bcbe10a40640b1bf0361cb93a16be1 (patch) | |
tree | 73dc6a7c70a6d3a79e74817c92d0d5d302982dc9 /src/testdir | |
parent | 54b2bfa399017ebae76ed62f21578261d1b55c1f (diff) | |
download | vim-git-777b30f827bcbe10a40640b1bf0361cb93a16be1.tar.gz |
patch 8.0.0137v8.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'.
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_nested_function.vim | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/testdir/test_nested_function.vim b/src/testdir/test_nested_function.vim index 7e301ed33..afaaea6ce 100644 --- 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 |