]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve performance of &key parsing
authorDaniel Colascione <dancol@dancol.org>
Mon, 24 Mar 2014 03:06:35 +0000 (20:06 -0700)
committerDaniel Colascione <dancol@dancol.org>
Mon, 24 Mar 2014 03:06:35 +0000 (20:06 -0700)
lisp/ChangeLog
lisp/emacs-lisp/cl-macs.el

index b89cbc2846133e81eddf93f24fc3cccead88f7e7..aee5738dc43aac741fd2404c7448848fb7ea4b62 100644 (file)
@@ -1,3 +1,8 @@
+2014-03-24  Daniel Colascione  <dancol@dancol.org>
+
+       * emacs-lisp/cl-macs.el (cl--do-arglist): Use `plist-member'
+       instead of cl-loop search function.
+
 2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 
        * calendar/parse-time.el (parse-time-iso8601-regexp)
index ae939c9c0e9a6b4ce9640b6edb33ddfd721092ce..cd2d52a4b213842f77304372a026fcb517c7bb09 100644 (file)
@@ -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--")))