changeset 97775:88a8ab97052b

(find_handler_clause): Temporarily increase max-lisp-eval-depth while printing the backtrace buffer, to guarantee that help-mode code can run.
author Chong Yidong <cyd@stupidchicken.com>
date Wed, 27 Aug 2008 20:26:03 +0000
parents cf6404e22e31
children c3601a4165fc
files src/ChangeLog src/eval.c
diffstat 2 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed Aug 27 20:21:31 2008 +0000
+++ b/src/ChangeLog	Wed Aug 27 20:26:03 2008 +0000
@@ -1,3 +1,9 @@
+2008-08-27  Chong Yidong  <cyd@stupidchicken.com>
+
+	* 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  <eliz@gnu.org>
 
 	* msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
--- a/src/eval.c	Wed Aug 27 20:21:31 2008 +0000
+++ b/src/eval.c	Wed Aug 27 20:26:03 2008 +0000
@@ -1941,16 +1941,18 @@
     {
       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)