summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2006-10-03 09:19:17 +0000
committerKim F. Storm <storm@cua.dk>2006-10-03 09:19:17 +0000
commitfcecceea0fd32073e8d0496ca841e6db8b18b2ad (patch)
treee1b828ed23b5122354d3603a31ed50586a4fcdcc /lisp/emacs-lisp
parent73812be664abb57bdde5fadd7766f0a184335ffc (diff)
downloademacs-fcecceea0fd32073e8d0496ca841e6db8b18b2ad.tar.gz
emacs-fcecceea0fd32073e8d0496ca841e6db8b18b2ad.tar.bz2
emacs-fcecceea0fd32073e8d0496ca841e6db8b18b2ad.zip
(pushnew-internal): Remove defvar.
(pushnew): Fix last change.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl.el5
1 files changed, 2 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el
index 3399f7e7b20..d2d68189230 100644
--- a/lisp/emacs-lisp/cl.el
+++ b/lisp/emacs-lisp/cl.el
@@ -149,8 +149,6 @@ be a symbol, or any generalized variable allowed by `setf'."
(if (symbolp place) (list 'setq place (list 'cons x place))
(list 'callf2 'cons x place)))
-(defvar pushnew-internal)
-
(defmacro pushnew (x place &rest keys)
"(pushnew X PLACE): insert X at the head of the list if not already there.
Like (push X PLACE), except that the list is unmodified if X is `eql' to
@@ -159,7 +157,8 @@ an element already on the list.
\n(fn X PLACE [KEYWORD VALUE]...)"
(if (symbolp place)
(if (null keys)
- `(if (memql ,x ,place) ,place (setq ,place (cons ,x ,place)))
+ `(let ((x ,x))
+ (if (memql x ,place) ,place (setq ,place (cons x ,place))))
(list 'setq place (list* 'adjoin x place keys)))
(list* 'callf2 'adjoin x place keys)))