diff --git a/src/ChangeLog b/src/ChangeLog index 0049b350f44..43d5caa4eaf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2008-08-27 Chong Yidong + + * eval.c (find_handler_clause): Temporarily increase + max-lisp-eval-depth while printing the backtrace buffer, to + guarantee that help-mode code can run. + 2008-08-27 Eli Zaretskii * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame diff --git a/src/eval.c b/src/eval.c index 083cea889f5..6531b977990 100644 --- a/src/eval.c +++ b/src/eval.c @@ -1941,16 +1941,18 @@ find_handler_clause (handlers, conditions, sig, data) { if (!NILP (sig) && wants_debugger (Vstack_trace_on_error, conditions)) { + max_lisp_eval_depth += 15; max_specpdl_size++; - #ifdef PROTOTYPES +#ifdef PROTOTYPES internal_with_output_to_temp_buffer ("*Backtrace*", (Lisp_Object (*) (Lisp_Object)) Fbacktrace, Qnil); - #else +#else internal_with_output_to_temp_buffer ("*Backtrace*", Fbacktrace, Qnil); - #endif +#endif max_specpdl_size--; + max_lisp_eval_depth -= 15; } if (!debugger_considered)