+2012-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2.
+
2012-06-29 Dmitry Antipov <dmantipov@yandex.ru>
* fringe.el (fringe-mode): Doc fix.
[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)))