From 3cfbebba71090f6ea0c2ca4a6056a3e645cee2e8 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 29 Jun 2012 22:00:08 -0400 Subject: [PATCH] * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2. --- lisp/ChangeLog | 4 ++++ lisp/emacs-lisp/cl-lib.el | 19 +++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 064b141cdde..f2fa5a37ac7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2012-06-30 Stefan Monnier + + * emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2. + 2012-06-29 Dmitry Antipov * fringe.el (fringe-mode): Doc fix. diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el index 34351e4830f..51402f2e8aa 100644 --- a/lisp/emacs-lisp/cl-lib.el +++ b/lisp/emacs-lisp/cl-lib.el @@ -151,16 +151,15 @@ an element already on the list. [keywordp form]))) (if (symbolp place) (if (null keys) - (let ((var (make-symbol "--cl-x--"))) - `(let ((,var ,x)) - (if (memql ,var ,place) - ;; This symbol may later on expand to actual code which then - ;; trigger warnings like "value unused" since cl-pushnew's return - ;; value is rarely used. It should not matter that other - ;; warnings may be silenced, since `place' is used earlier and - ;; should have triggered them already. - (with-no-warnings ,place) - (setq ,place (cons ,var ,place))))) + (macroexp-let2 nil var x + `(if (memql ,var ,place) + ;; This symbol may later on expand to actual code which then + ;; trigger warnings like "value unused" since cl-pushnew's + ;; return value is rarely used. It should not matter that + ;; other warnings may be silenced, since `place' is used + ;; earlier and should have triggered them already. + (with-no-warnings ,place) + (setq ,place (cons ,var ,place)))) (list 'setq place (cl-list* 'cl-adjoin x place keys))) (cl-list* 'cl-callf2 'cl-adjoin x place keys))) -- 2.39.2