* 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.