]> git.eshelyaron.com Git - emacs.git/commit
Make CATCHER_ALL work for signal as well as throw
authorTom Tromey <tom@tromey.com>
Fri, 19 Jan 2018 04:40:51 +0000 (21:40 -0700)
committerTom Tromey <tom@tromey.com>
Tue, 23 Jan 2018 04:25:40 +0000 (21:25 -0700)
commita6b4b9b4af5405b62cbd59f5ce23ca0fe0027ac7
tree94a034581a739e08818a8e1a15a26251af074904
parent0a75af915653bd8927f92be420603725a7e3c744
Make CATCHER_ALL work for signal as well as throw

* src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT): Use
module_handle_unwind_protect.
(module_handle_signal, module_handle_throw): Remove.
(module_handle_unwind_protect): New function.
* src/eval.c (Fthrow): Add 'throw to value thrown to
CATCHER_ALL.
(internal_catch_all_1): Remove.
(internal_catch_all): Use CATCHER_ALL.
(signal_or_quit): Also unwind to CATCHER_ALL.
(syms_of_eval): Define Qthrow.
* src/lisp.h (enum handlertype): Update comment.
src/emacs-module.c
src/eval.c
src/lisp.h