emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 451eeb512d: Fix eager macroexpansion cycle in cl-once-only


From: Lars Ingebrigtsen
Subject: master 451eeb512d: Fix eager macroexpansion cycle in cl-once-only
Date: Tue, 12 Apr 2022 11:59:37 -0400 (EDT)

branch: master
commit 451eeb512dbfb5ccd4e75eca696a5d4143fec646
Author: Sean Whitton <spwhitton@spwhitton.name>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Fix eager macroexpansion cycle in cl-once-only
    
    * lisp/emacs-lisp/cl-macs.el (cl-once-only): Use different cl-loop
    syntax, with no functional change, but such that the loop does not
    expand into cl-psetq.
---
 lisp/emacs-lisp/cl-macs.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index af8855516c..364b5120a0 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -2473,11 +2473,11 @@ See also `macroexp-let2'."
        ;; We require this explicit call to `list' rather than using
        ;; (,,@(cl-loop ...)) due to a limitation of Elisp's backquote.
        `(let ,(list
-               ,@(cl-loop for name in names and gensym in our-gensyms
+               ,@(cl-loop for name in names for gensym in our-gensyms
                           for to-eval = (or (cadr name) (car name))
                           collect ``(,,gensym ,,to-eval)))
           ;; During macroexpansion, bind each NAME to its gensym.
-          ,(let ,(cl-loop for name in names and gensym in our-gensyms
+          ,(let ,(cl-loop for name in names for gensym in our-gensyms
                           collect `(,(car name) ,gensym))
              ,@body)))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]