1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-09 07:40:39 -08:00
emacs/lisp/emacs-lisp
Stefan Monnier 391c208aec (backtrace-on-redisplay-error): Use handler-bind
Reimplement `backtrace-on-redisplay-error` using `push_handler_bind`.
This moves the code from `signal_or_quit` to `xdisp.c` and
`debug-early.el`.

* lisp/emacs-lisp/debug-early.el (debug-early-backtrace):
Add `base` arg to strip "internal" frames.
(debug--early): New function, extracted from `debug-early`.
(debug-early, debug-early--handler): Use it.
(debug-early--muted): New function, extracted (translated) from
`signal_or_quit`; trim the buffer to a max of 10 backtraces.

* src/xdisp.c (funcall_with_backtraces): New function.
(dsafe_calln): Use it.
(syms_of_xdisp): Defsym `Qdebug_early__muted`.

* src/eval.c (redisplay_deep_handler): Delete var.
(init_eval, internal_condition_case_n): Don't set it any more.
(backtrace_yet): Delete var.
(signal_or_quit): Remove special case for `backtrace_on_redisplay_error`.
* src/keyboard.c (command_loop_1): Don't set `backtrace_yet` any more.
* src/lisp.h (backtrace_yet): Don't declare.
2024-01-04 16:37:01 -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 (macroexp--with-extended-form-stack): Use plain let 2024-01-04 16:35:53 -05: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 (backtrace-on-redisplay-error): Use handler-bind 2024-01-04 16:37:01 -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 (macroexp--with-extended-form-stack): Use plain let 2024-01-04 16:35:53 -05: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