1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 00:01:33 -08:00
emacs/test/src
Stefan Monnier 2ef6e40da8 (signal_or_quit): Preserve error object identity
Make sure we build the (ERROR-SYMBOL . ERROR-DATA) object only once
when signaling an error, so that its `eq` identity can be used.
It also gets us a tiny bit closer to having real "error objects"
like in most other current programming languages.

* src/eval.c (maybe_call_debugger): Change arglist to receive the error
object instead of receiving the signal and the data separately.
(signal_or_quit): Build the error object right at the beginning so it
stays `eq` to itself.
Rename the `keyboard_quit` arg to `continuable` so say what it does
rather than what it's used for.
(signal_quit_p): Change arg to be the error object rather than just the
error-symbol.

* src/keyboard.c (cmd_error_internal, menu_item_eval_property_1):
Adjust calls to `signal_quit_p` accordingly.

* test/src/eval-tests.el (eval-tests--error-id): New test.
2024-01-04 16:37:01 -05:00
..
comp-resources ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
emacs-module-resources ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
lread-resources Make force-load-doc-strings work again 2022-08-07 10:25:03 +02:00
regex-resources * src/regex-emacs.c (analyze_first): Fix incorrect optimization 2023-09-27 13:29:50 -04:00
syntax-resources
alloc-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
buffer-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
callint-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
callproc-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
casefiddle-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
character-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
charset-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
chartab-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
cmds-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
coding-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
comp-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
data-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
decompress-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
doc-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
editfns-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
emacs-module-tests.el emacs-module-tests.el (mod-test-non-local-exit-signal-test): Repair test 2024-01-04 16:35:53 -05:00
emacs-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eval-tests.el (signal_or_quit): Preserve error object identity 2024-01-04 16:37:01 -05:00
fileio-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
filelock-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
floatfns-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
fns-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
font-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
image-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
indent-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
inotify-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
json-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
keyboard-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
keymap-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
lcms-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
lread-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
marker-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
minibuf-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
print-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
process-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
regex-emacs-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
search-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
sqlite-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
syntax-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
textprop-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
thread-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
timefns-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
treesit-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
undo-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xdisp-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xfaces-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xml-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00