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'.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 1af60ab..eebdcff 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -787,8 +787,9 @@
#endif
/* It's possible to create an endless loop with ":execute", catch that
- * here. The value of 200 allows nested function calls, ":source", etc. */
- if (call_depth == 200)
+ * here. The value of 200 allows nested function calls, ":source", etc.
+ * Allow 200 or 'maxfuncdepth', whatever is larger. */
+ if (call_depth >= 200 && call_depth >= p_mfd)
{
EMSG(_("E169: Command too recursive"));
#ifdef FEAT_EVAL