Show
Ignore:
Timestamp:
09/18/06 20:48:14 (2 years ago)
Author:
miyoshi
Message:

Sync up with Emacs CVS HEAD.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lisp/emacs-lisp/cl.el

    r4037 r4166  
    150150    (list 'callf2 'cons x place))) 
    151151 
     152(defvar pushnew-internal) 
     153 
    152154(defmacro pushnew (x place &rest keys) 
    153155  "(pushnew X PLACE): insert X at the head of the list if not already there. 
     
    156158\nKeywords supported:  :test :test-not :key 
    157159\n(fn X PLACE [KEYWORD VALUE]...)" 
    158   (if (symbolp place) (list 'setq place (list* 'adjoin x place keys)) 
     160  (if (symbolp place) 
     161      (if (null keys) 
     162          `(let ((pushnew-internal ,place)) 
     163             (add-to-list 'pushnew-internal ,x nil 'eql) 
     164             (setq ,place pushnew-internal)) 
     165        (list 'setq place (list* 'adjoin x place keys))) 
    159166    (list* 'callf2 'adjoin x place keys))) 
    160167