Function: cps--make-atomic-state
cps--make-atomic-state is a byte-compiled function defined in
generator.el.gz.
Signature
(cps--make-atomic-state FORM NEXT-STATE)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/generator.el.gz
(defun cps--make-atomic-state (form next-state)
(let ((tform `(prog1 ,form (setf ,cps--state-symbol ,next-state))))
(cl-loop for wrapper in cps--dynamic-wrappers
do (setf tform (funcall wrapper tform)))
;; Bind cps--cleanup-function to nil here because the wrapper
;; function mechanism is responsible for cleanup here, not the
;; generic cleanup mechanism. If we didn't make this binding,
;; we'd run cleanup handlers twice on anything that made it out
;; to toplevel.
(let ((cps--cleanup-function nil))
(cps--add-state "atom"
`(setf ,cps--value-symbol ,tform)))))