summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-07-02 15:19:07 +0000
committerGerd Moellmann <gerd@gnu.org>2001-07-02 15:19:07 +0000
commitdd441b46b9abf7ee1f35218f30addae1c7b8ebb5 (patch)
tree2467892516d4b68c8f11df8f9bd2fc4aedf692c9 /lisp/emacs-lisp
parent4c175203a0c32ec74db63e4a392e06d4c6a76af9 (diff)
downloademacs-dd441b46b9abf7ee1f35218f30addae1c7b8ebb5.tar.gz
emacs-dd441b46b9abf7ee1f35218f30addae1c7b8ebb5.tar.bz2
emacs-dd441b46b9abf7ee1f35218f30addae1c7b8ebb5.zip
(cl-do-arglist): Revert change of
2000-10-15.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-macs.el15
1 files changed, 7 insertions, 8 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index a57a3821564..3dd84648945 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -257,17 +257,13 @@ ARGLIST allows full Common Lisp conventions."
(while (and (eq (car args) '&key) (cl-pop args))
(while (and args (not (memq (car args) lambda-list-keywords)))
(let ((arg (cl-pop args)))
- (if (not (consp arg))
- ;; Simple key arg, we can use plist-get.
- (let ((karg (intern (format ":%s" arg))))
- (cl-do-arglist arg `(plist-get ,restarg ,karg))
- (cl-push karg keys))
+ (or (consp arg) (setq arg (list arg)))
(let* ((karg (if (consp (car arg)) (caar arg)
(intern (format ":%s" (car arg)))))
(varg (if (consp (car arg)) (cadar arg) (car arg)))
(def (if (cdr arg) (cadr arg)
(or (car bind-defs) (cadr (assq varg bind-defs)))))
- (look (list 'plist-member restarg (list 'quote karg))))
+ (look (list 'memq (list 'quote karg) restarg)))
(and def bind-enquote (setq def (list 'quote def)))
(if (cddr arg)
(let* ((temp (or (nth 2 arg) (gensym)))
@@ -289,7 +285,7 @@ ARGLIST allows full Common Lisp conventions."
'quote
(list nil (cl-const-expr-val def)))
(list 'list nil def))))))))
- (cl-push karg keys))))))
+ (cl-push karg keys)))))
(setq keys (nreverse keys))
(or (and (eq (car args) '&allow-other-keys) (cl-pop args))
(null keys) (= safety 0)
@@ -302,7 +298,10 @@ ARGLIST allows full Common Lisp conventions."
(list (list 'memq (list 'car var)
(list 'quote (append keys allow)))
(list 'setq var (list 'cdr (list 'cdr var))))
- (list (list 'plist-get restarg (car allow))
+ (list (list 'car
+ (list 'cdr
+ (list 'memq (cons 'quote allow)
+ restarg)))
(list 'setq var nil))
(list t
(list