diff options
author | Daniel Colascione <dancol@dancol.org> | 2014-03-23 20:06:35 -0700 |
---|---|---|
committer | Daniel Colascione <dancol@dancol.org> | 2014-03-23 20:06:35 -0700 |
commit | 1edb4a2ec657c305880901e78317daf1990b5358 (patch) | |
tree | 4ff3d04c2d0ef075293845d63c7ecd9582fdd029 /lisp/emacs-lisp | |
parent | 8becfd220e46d163cfdcd99fc3e6098755952e46 (diff) | |
download | emacs-1edb4a2ec657c305880901e78317daf1990b5358.tar.gz emacs-1edb4a2ec657c305880901e78317daf1990b5358.tar.bz2 emacs-1edb4a2ec657c305880901e78317daf1990b5358.zip |
Improve performance of &key parsing
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index ae939c9c0e9..cd2d52a4b21 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -503,8 +503,7 @@ its argument list allows full Common Lisp conventions." (varg (if (consp (car arg)) (cl-cadar arg) (car arg))) (def (if (cdr arg) (cadr arg) (or (car cl--bind-defs) (cadr (assq varg cl--bind-defs))))) - (look `(cl-loop for cl--arg on ,restarg by #'cddr - when (eq (car cl--arg) ',karg) return cl--arg))) + (look `(plist-member ,restarg ',karg))) (and def cl--bind-enquote (setq def `',def)) (if (cddr arg) (let* ((temp (or (nth 2 arg) (make-symbol "--cl-var--"))) |