Function: eca-api-catch

eca-api-catch is a macro defined in eca-api.el.

Signature

(eca-api-catch TAG BODYFORM &rest HANDLERS)

Documentation

Catch TAG thrown in BODYFORM.

The return value from TAG will be handled in HANDLERS by pcase.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-api.el
;; Public

(defmacro eca-api-catch (tag bodyform &rest handlers)
  "Catch TAG thrown in BODYFORM.
The return value from TAG will be handled in HANDLERS by `pcase'."
  (declare (debug (form form &rest (pcase-PAT body))) (indent 2))
  (let ((re-sym (make-symbol "re")))
    `(let ((,re-sym (catch ,tag ,bodyform)))
       (pcase ,re-sym
         ,@handlers))))