emacs/lisp/emacs-lisp
Stefan Monnier 604e34338f Move batch backtrace code to top_level_2
Move ad-hoc code meant to ease debugging of bootstrap (and batch mode)
to `top_level_2` so it doesn't pollute `signal_or_quit`.

* src/lisp.h (pop_handler, push_handler_bind): Declare.
* src/keyboard.c (top_level_2): Setup an error handler to call
`debug-early` when noninteractive.
* src/eval.c (pop_handler): Not static any more.
(signal_or_quit): Remove special case for noninteractive use.
(push_handler_bind): New function, extracted from `Fhandler_bind_1`.
(Fhandler_bind_1): Use it.
(syms_of_eval): Declare `Qdebug_early__handler`.
* lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Weed out
frames below `debug-early`.
(debug-early--handler): New function.
2024-01-04 16:35:53 -05:00
..
advice.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
avl-tree.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
backquote.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
backtrace.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
benchmark.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
bindat.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
byte-opt.el ; Clarify two comments in byte-optimize-letX 2024-01-02 04:08:43 +01:00
byte-run.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
bytecomp.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cconv.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
chart.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
check-declare.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
checkdoc.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-extra.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-generic.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-indent.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-lib.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-macs.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-preloaded.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-print.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-seq.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
comp-common.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
comp-cstr.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
comp-run.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
comp.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
copyright.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
crm.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
cursor-sensor.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
debug-early.el Move batch backtrace code to top_level_2 2024-01-04 16:35:53 -05:00
debug.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
derived.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
disass.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
easy-mmode.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
easymenu.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
edebug.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
eieio-base.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eieio-core.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
eieio-custom.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eieio-datadebug.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eieio-opt.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eieio-speedbar.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eieio.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
eldoc.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
elint.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
elp.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ert-font-lock.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
ert-x.el ert.el: Use handler-bind to record backtraces 2024-01-04 16:33:25 -05:00
ert.el ert.el: Use handler-bind to record backtraces 2024-01-04 16:33:25 -05:00
ewoc.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
faceup.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
find-func.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
float-sup.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
generate-lisp-file.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
generator.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
generic.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
gv.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
helper.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
hierarchy.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
icons.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
inline.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
let-alist.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
lisp-mnt.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
lisp-mode.el New special form handler-bind 2024-01-04 16:32:53 -05:00
lisp.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
loaddefs-gen.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
macroexp.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
map-ynp.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
map.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
memory-report.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
multisession.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
nadvice.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
oclosure.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
package-vc.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
package-x.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
package.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
pcase.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
pp.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
radix-tree.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
range.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
re-builder.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
regexp-opt.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
regi.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ring.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
rmc.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
rx.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
seq.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
shadow.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
shortdoc.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
shorthands.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
smie.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
subr-x.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
syntax.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
tabulated-list.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
tcover-ses.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
testcover.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
text-property-search.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
thunk.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
timer-list.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
timer.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
tq.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
trace.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
unsafep.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
vtable.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
warnings.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00