Function: inline--do-letlisteval
inline--do-letlisteval is a byte-compiled function defined in
inline.el.gz.
Signature
(inline--do-letlisteval LISTVAR &rest BODY)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/inline.el.gz
(defun inline--do-letlisteval (listvar &rest body)
;; Here's a sample situation:
;; (define-inline foo (arg &rest keys)
;; (inline-letevals (arg . keys)
;; <check-keys>))
;; I.e. in <check-keys> we need `keys' to contain a list of
;; macroexp-copyable-p expressions.
(let ((bsym (make-symbol "bindings")))
`(let* ((,bsym ())
(,listvar (mapcar (lambda (e)
(if (macroexp-copyable-p e) e
(let ((v (gensym "v")))
(push (list v e) ,bsym)
v)))
,listvar)))
(macroexp-let* (nreverse ,bsym)
,(macroexp-progn body)))))