diff options
author | Gerd Moellmann <gerd@gnu.org> | 2001-07-02 15:19:07 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2001-07-02 15:19:07 +0000 |
commit | dd441b46b9abf7ee1f35218f30addae1c7b8ebb5 (patch) | |
tree | 2467892516d4b68c8f11df8f9bd2fc4aedf692c9 /lisp/emacs-lisp | |
parent | 4c175203a0c32ec74db63e4a392e06d4c6a76af9 (diff) | |
download | emacs-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.el | 15 |
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 |