Function: comp-apply-in-env
comp-apply-in-env is a macro defined in comp.el.gz.
Signature
(comp-apply-in-env FUNC &rest ARGS)
Documentation
Apply FUNC to ARGS in the current compilation environment.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp.el.gz
(defmacro comp-apply-in-env (func &rest args)
"Apply FUNC to ARGS in the current compilation environment."
`(let ((env (cl-loop
for f being the hash-value in (comp-ctxt-funcs-h comp-ctxt)
for func-name = (comp-func-name f)
for byte-code = (comp-func-byte-func f)
when func-name
collect `(,func-name . ,(symbol-function func-name))
and do
(setf (symbol-function func-name) byte-code))))
(unwind-protect
(apply ,func ,@args)
(cl-loop
for (func-name . def) in env
do (setf (symbol-function func-name) def)))))