• Mattias Engdegård's avatar
    Abolish max-specpdl-size (bug#57911) · 60102016
    Mattias Engdegård authored
    The max-lisp-eval-depth limit is sufficient to prevent unbounded stack
    growth including the specbind stack; simplify matters for the user by
    not having them to worry about two different limits.  This change
    turns max-specpdl-size into a harmless variable with no effects,
    to keep existing code happy.
    
    * lisp/subr.el (max-specpdl-size):
    Define as an ordinary (but obsolete) dynamic variable.
    * admin/grammars/Makefile.in:
    * doc/lispintro/emacs-lisp-intro.texi (Loops & Recursion):
    * doc/lispref/control.texi (Cleanups):
    * doc/lispref/edebug.texi (Checking Whether to Stop):
    * doc/lispref/eval.texi (Eval):
    * doc/lispref/variables.texi (Local Variables):
    * doc/misc/calc.texi (Recursion Depth):
    Update documentation.
    * etc/NEWS: Announce.
    * src/eval.c
    (FletX): Use safe iteration to guard against circular bindings list.
    (syms_of_eval): Remove old max-specpdl-size definition.
    (init_eval_once, restore_stack_limits, call_debugger)
    (signal_or_quit, grow_specpdl_allocation):
    * leim/Makefile.in:
    * lisp/Makefile.in:
    * lisp/calc/calc-stuff.el (calc-more-recursion-depth)
    (calc-less-recursion-depth):
    * lisp/calc/calc.el (calc-do):
    * lisp/cedet/semantic/ede-grammar.el (ede-proj-makefile-insert-rules):
    * lisp/cedet/semantic/grammar.el (semantic-grammar-batch-build-one-package):
    * lisp/cus-start.el (standard):
    * lisp/emacs-lisp/comp.el (comp--native-compile):
    * lisp/emacs-lisp/edebug.el (edebug-max-depth):
    (edebug-read-and-maybe-wrap-form, edebug-default-enter):
    * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
    * lisp/eshell/esh-mode.el (eshell-mode):
    * lisp/loadup.el (max-specpdl-size):
    * lisp/mh-e/mh-e.el (mh-invisible-headers):
    * lisp/net/shr.el (shr-insert-document, shr-descend):
    * lisp/play/hanoi.el (hanoi-internal):
    * lisp/progmodes/cperl-mode.el:
    * src/fileio.c (Fdo_auto_save):
    Remove references to and modifications of max-specpdl-size.
    60102016