Function: cps--make-catch-wrapper
cps--make-catch-wrapper is a byte-compiled function defined in
generator.el.gz.
Signature
(cps--make-catch-wrapper TAG-BINDING NEXT-STATE)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/generator.el.gz
(defun cps--make-catch-wrapper (tag-binding next-state)
(lambda (form)
(let ((normal-exit-symbol
(cps--gensym "cps-normal-exit-from-catch-")))
`(let (,normal-exit-symbol)
(prog1
(catch ,tag-binding
(prog1
,form
(setf ,normal-exit-symbol t)))
(unless ,normal-exit-symbol
(setf ,cps--state-symbol ,next-state)))))))