diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/eval.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index cfdff363222..140be8095d7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2010-09-30 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * eval.c (Fbacktrace): Don't overwrite print-level on exit. Also + only override Vprint_level if it isn't already bound, and increase + the level to 8 to produce more useful backtraces for bug reports. + 2010-09-30 Dan Nicolaescu <dann@ics.uci.edu> * Makefile.in: ecrt0.c does not exist anymore, do not mention it. diff --git a/src/eval.c b/src/eval.c index d64d15040df..15112d8659b 100644 --- a/src/eval.c +++ b/src/eval.c @@ -3441,8 +3441,10 @@ Output stream used is value of `standard-output'. */) Lisp_Object tail; Lisp_Object tem; struct gcpro gcpro1; + Lisp_Object old_print_level = Vprint_level; - XSETFASTINT (Vprint_level, 3); + if (NILP (Vprint_level)) + XSETFASTINT (Vprint_level, 8); tail = Qnil; GCPRO1 (tail); @@ -3483,7 +3485,7 @@ Output stream used is value of `standard-output'. */) backlist = backlist->next; } - Vprint_level = Qnil; + Vprint_level = old_print_level; UNGCPRO; return Qnil; } |
