emacs/lisp/emacs-lisp
Stefan Monnier a5dcc1abea (macroexp--with-extended-form-stack): Use plain let
`macroexp--with-extended-form-stack` used manual push/pop so that upon
non-local exits the "deeper" value is kept, so the error handler gets
to know what was the deeper value, so as to be able to compute more
precise error locations.
Replace this with a `handler-bind` which catches that "deeper" value
more explicitly.

* lisp/emacs-lisp/bytecomp.el (bytecomp--displaying-warnings):
Use `handler-bind` to catch the value of `byte-compile-form-stack`
at the time of the error.  Also consolidate the duplicated code.

* lisp/emacs-lisp/macroexp.el (macroexp--with-extended-form-stack):
Use a plain dynbound let-rebinding.
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 (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 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 (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