Function: use-package-memoize
use-package-memoize is a byte-compiled function defined in
use-package-core.el.gz.
Signature
(use-package-memoize F ARG)
Documentation
Ensure the macro-expansion of F applied to ARG evaluates ARG no more than once.
Source Code
;; Defined in /usr/src/emacs/lisp/use-package/use-package-core.el.gz
(defun use-package-memoize (f arg)
"Ensure the macro-expansion of F applied to ARG evaluates ARG
no more than once."
(let ((loaded (cl-gentemp "use-package--loaded"))
(result (cl-gentemp "use-package--result"))
(next (cl-gentemp "use-package--next")))
`((defvar ,loaded nil)
(defvar ,result nil)
(defvar ,next #'(lambda () (if ,loaded ,result
(setq ,loaded t ,result ,arg))))
,@(funcall f `((funcall ,next))))))