aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref/edebug.texi
diff options
context:
space:
mode:
authorMattias EngdegÄrd2022-09-19 10:55:09 +0200
committerMattias EngdegÄrd2022-09-19 19:30:03 +0200
commit60102016e416e5c19fa5945aeb80693dac7ff2e6 (patch)
tree69979ff773d7031634e7bc4f4388abc4ae104717 /doc/lispref/edebug.texi
parenta7c65fc6660878e244432a5b25fb3a4ff20e8604 (diff)
downloademacs-60102016e416e5c19fa5945aeb80693dac7ff2e6.tar.gz
emacs-60102016e416e5c19fa5945aeb80693dac7ff2e6.zip
Abolish max-specpdl-size (bug#57911)
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.
Diffstat (limited to 'doc/lispref/edebug.texi')
-rw-r--r--doc/lispref/edebug.texi5
1 files changed, 2 insertions, 3 deletions
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index 56f7b7bdfad..6a51489d8a4 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -1032,9 +1032,8 @@ program.
1032@itemize @bullet 1032@itemize @bullet
1033@item 1033@item
1034@vindex edebug-max-depth 1034@vindex edebug-max-depth
1035@code{max-lisp-eval-depth} (@pxref{Eval}) and @code{max-specpdl-size} 1035@code{max-lisp-eval-depth} (@pxref{Eval}) is increased to reduce Edebug's
1036(@pxref{Local Variables}) are both increased to reduce Edebug's impact 1036impact on the stack. You could, however, still run out of stack space when
1037on the stack. You could, however, still run out of stack space when
1038using Edebug. You can also enlarge the value of 1037using Edebug. You can also enlarge the value of
1039@code{edebug-max-depth} if Edebug reaches the limit of recursion depth 1038@code{edebug-max-depth} if Edebug reaches the limit of recursion depth
1040instrumenting code that contains very large quoted lists. 1039instrumenting code that contains very large quoted lists.