diff options
author | Kim F. Storm <storm@cua.dk> | 2006-10-03 09:19:17 +0000 |
---|---|---|
committer | Kim F. Storm <storm@cua.dk> | 2006-10-03 09:19:17 +0000 |
commit | fcecceea0fd32073e8d0496ca841e6db8b18b2ad (patch) | |
tree | e1b828ed23b5122354d3603a31ed50586a4fcdcc /lisp/emacs-lisp | |
parent | 73812be664abb57bdde5fadd7766f0a184335ffc (diff) | |
download | emacs-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.el | 5 |
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))) |