diff options
| author | Mattias EngdegÄrd | 2026-01-09 15:25:35 +0100 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2026-01-09 17:19:45 +0100 |
| commit | cdfb7354d6e1eacc8fa4cf567861c9cef0f07dac (patch) | |
| tree | 645510d24f8e2d26ff5ebfb78eaf506669560ba5 /src/eval.c | |
| parent | d9cc684d104e83dd0e020d76616914f200836f6f (diff) | |
| download | emacs-cdfb7354d6e1eacc8fa4cf567861c9cef0f07dac.tar.gz emacs-cdfb7354d6e1eacc8fa4cf567861c9cef0f07dac.zip | |
Less stingy lisp-eval-depth supply for debugger
* src/eval.c (call_debugger, signal_or_quit):
Raise extra headroom to 200 levels. The debugger is sometimes entered
via handler-bind so we raise the bar there as well (bug#80154).
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/eval.c b/src/eval.c index 73a2e2a54a2..7ca9d761a7e 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -285,11 +285,10 @@ call_debugger (Lisp_Object arg) | |||
| 285 | specpdl_ref count = SPECPDL_INDEX (); | 285 | specpdl_ref count = SPECPDL_INDEX (); |
| 286 | Lisp_Object val; | 286 | Lisp_Object val; |
| 287 | 287 | ||
| 288 | /* The previous value of 40 is too small now that the debugger | 288 | /* The debugger currently requires 77 additional frames to print lists |
| 289 | prints using cl-prin1 instead of prin1. Printing lists nested 8 | 289 | nested 8 deep (the value of print-level used in the debugger) using |
| 290 | deep (which is the value of print-level used in the debugger) | 290 | cl-prin1 (bug#31919), with a margin to be on the safe side. */ |
| 291 | currently requires 77 additional frames. See bug#31919. */ | 291 | max_ensure_room (200); |
| 292 | max_ensure_room (100); | ||
| 293 | 292 | ||
| 294 | #ifdef HAVE_WINDOW_SYSTEM | 293 | #ifdef HAVE_WINDOW_SYSTEM |
| 295 | if (display_hourglass_p) | 294 | if (display_hourglass_p) |
| @@ -1982,7 +1981,9 @@ signal_or_quit (Lisp_Object error_symbol, Lisp_Object data, bool continuable) | |||
| 1982 | if (!NILP (find_handler_clause (h->tag_or_ch, conditions))) | 1981 | if (!NILP (find_handler_clause (h->tag_or_ch, conditions))) |
| 1983 | { | 1982 | { |
| 1984 | specpdl_ref count = SPECPDL_INDEX (); | 1983 | specpdl_ref count = SPECPDL_INDEX (); |
| 1985 | max_ensure_room (20); | 1984 | /* Add some room in case this is for debugging, as in |
| 1985 | call_debugger. */ | ||
| 1986 | max_ensure_room (200); | ||
| 1986 | push_handler (make_fixnum (skip + h->bytecode_dest), | 1987 | push_handler (make_fixnum (skip + h->bytecode_dest), |
| 1987 | SKIP_CONDITIONS); | 1988 | SKIP_CONDITIONS); |
| 1988 | calln (h->val, error); | 1989 | calln (h->val, error); |