summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2021-01-08 21:40:45 +0100
committerAndrea Corallo <akrl@sdf.org>2021-01-08 21:40:45 +0100
commit400f620f24b90540f71673a998c41327237330be (patch)
tree2e94333ffc6ac99987f74833bafe3191eb83c4ed /src/eval.c
parent213b5d73159cafbdd52b9c0fb0479544cca98a77 (diff)
parenta31bfd594523dc06941ceb89cdbeabcd4a5d19f7 (diff)
downloademacs-400f620f24b90540f71673a998c41327237330be.tar.gz
emacs-400f620f24b90540f71673a998c41327237330be.tar.bz2
emacs-400f620f24b90540f71673a998c41327237330be.zip
Merge remote-tracking branch 'savannah/master' into HEAD
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/eval.c b/src/eval.c
index e83df8ce221..f77f07e1711 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1824,12 +1824,16 @@ signal_or_quit (Lisp_Object error_symbol, Lisp_Object data, bool keyboard_quit)
return Qnil;
}
- /* If we're in batch mode, print a backtrace unconditionally to help with
- debugging. Make sure to use `debug' unconditionally to not interfere with
- ERT or other packages that install custom debuggers. */
+ /* If we're in batch mode, print a backtrace unconditionally to help
+ with debugging. Make sure to use `debug' unconditionally to not
+ interfere with ERT or other packages that install custom
+ debuggers. Don't try to call the debugger while dumping or
+ bootstrapping, it wouldn't work anyway. */
if (!debugger_called && !NILP (error_symbol)
- && (NILP (clause) || EQ (h->tag_or_ch, Qerror)) && noninteractive
- && backtrace_on_error_noninteractive)
+ && (NILP (clause) || EQ (h->tag_or_ch, Qerror))
+ && noninteractive && backtrace_on_error_noninteractive
+ && !will_dump_p () && !will_bootstrap_p ()
+ && NILP (Vinhibit_debugger))
{
ptrdiff_t count = SPECPDL_INDEX ();
specbind (Vdebugger, Qdebug);