GNU bug report logs -
#4228
23.1; --script and stack-trace-on-error
Previous Next
Reported by: Tom Tromey <tromey <at> redhat.com>
Date: Fri, 21 Aug 2009 22:45:05 UTC
Severity: normal
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
Message #13 received at 4228 <at> emacsbugs.donarmstrong.com (full text, mbox):
Dan> [No idea why stack-trace-on-error does not work]
I looked at this a little bit.
eval.c:find_handler_clause prints to a buffer named *Backtrace*. So,
I'm guessing that the stack trace is created -- just not visible.
The appended patch works for me.
Tom
2009-09-19 Tom Tromey <tromey <at> redhat.com>
* eval.c (find_handler_clause): Respect 'noninteractive'.
diff --git a/src/eval.c b/src/eval.c
index 8299474..44f8ec7 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1922,14 +1922,19 @@ find_handler_clause (handlers, conditions, sig, data)
{
max_lisp_eval_depth += 15;
max_specpdl_size++;
+ if (noninteractive)
+ Fbacktrace ();
+ else
+ {
#ifdef PROTOTYPES
- internal_with_output_to_temp_buffer ("*Backtrace*",
- (Lisp_Object (*) (Lisp_Object)) Fbacktrace,
- Qnil);
+ internal_with_output_to_temp_buffer ("*Backtrace*",
+ (Lisp_Object (*) (Lisp_Object)) Fbacktrace,
+ Qnil);
#else
- internal_with_output_to_temp_buffer ("*Backtrace*",
- Fbacktrace, Qnil);
+ internal_with_output_to_temp_buffer ("*Backtrace*",
+ Fbacktrace, Qnil);
#endif
+ }
max_specpdl_size--;
max_lisp_eval_depth -= 15;
}
This bug report was last modified 15 years and 325 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.