summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp/timer-tests.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2023-12-25 22:32:17 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2024-01-04 16:32:53 -0500
commit5ba75e183c60aff50949587c21066e876dabfbda (patch)
treedb29f1ea2ef53d51ebb7ed1b8be999a664498f89 /test/lisp/emacs-lisp/timer-tests.el
parent225710ba79c10b53b6ba320327ca31192ca72387 (diff)
downloademacs-5ba75e183c60aff50949587c21066e876dabfbda.tar.gz
emacs-5ba75e183c60aff50949587c21066e876dabfbda.tar.bz2
emacs-5ba75e183c60aff50949587c21066e876dabfbda.zip
New special form `handler-bind`
AFAIK, this provides the same semantics as Common Lisp's `handler-bind`, modulo the differences about how error objects and conditions are represented. * lisp/subr.el (handler-bind): New macro. * src/eval.c (pop_handler): New function. (Fhandler_Bind_1): New function. (signal_or_quit): Handle new handlertypes `HANDLER` and `SKIP_CONDITIONS`. (find_handler_clause): Simplify. (syms_of_eval): Defsubr `Fhandler_bind_1`. * doc/lispref/control.texi (Handling Errors): Add `handler-bind`. * test/src/eval-tests.el (eval-tests--handler-bind): New test. * lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-keywords): Move 'handler-bind' from CL-only to generic Lisp. (handler-bind): Remove indentation setting, it now lives in the macro definition.
Diffstat (limited to 'test/lisp/emacs-lisp/timer-tests.el')
0 files changed, 0 insertions, 0 deletions