Eval macro arg just once
* lisp/emacs-lisp/cl-macs.el (cl--push-clause-loop-body): Use `macroexp-let2' (Bug#39428).
This commit is contained in:
parent
0609dd481a
commit
ebff24c0b8
1 changed files with 4 additions and 3 deletions
|
@ -1037,9 +1037,10 @@ For more details, see Info node `(cl)Loop Facility'.
|
|||
|
||||
(defmacro cl--push-clause-loop-body (clause)
|
||||
"Apply CLAUSE to both `cl--loop-conditions' and `cl--loop-body'."
|
||||
`(progn
|
||||
(push ,clause cl--loop-conditions)
|
||||
(push ,clause cl--loop-body)))
|
||||
(macroexp-let2 nil sym clause
|
||||
`(progn
|
||||
(push ,sym cl--loop-conditions)
|
||||
(push ,sym cl--loop-body))))
|
||||
|
||||
;; Below is a complete spec for cl-loop, in several parts that correspond
|
||||
;; to the syntax given in CLtL2. The specs do more than specify where
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue