diff options
| author | Daniel Colascione | 2014-03-23 20:06:35 -0700 |
|---|---|---|
| committer | Daniel Colascione | 2014-03-23 20:06:35 -0700 |
| commit | 1edb4a2ec657c305880901e78317daf1990b5358 (patch) | |
| tree | 4ff3d04c2d0ef075293845d63c7ecd9582fdd029 | |
| parent | 8becfd220e46d163cfdcd99fc3e6098755952e46 (diff) | |
| download | emacs-1edb4a2ec657c305880901e78317daf1990b5358.tar.gz emacs-1edb4a2ec657c305880901e78317daf1990b5358.zip | |
Improve performance of &key parsing
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b89cbc28461..aee5738dc43 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2014-03-24 Daniel Colascione <dancol@dancol.org> | ||
| 2 | |||
| 3 | * emacs-lisp/cl-macs.el (cl--do-arglist): Use `plist-member' | ||
| 4 | instead of cl-loop search function. | ||
| 5 | |||
| 1 | 2014-03-23 Lars Ingebrigtsen <larsi@gnus.org> | 6 | 2014-03-23 Lars Ingebrigtsen <larsi@gnus.org> |
| 2 | 7 | ||
| 3 | * calendar/parse-time.el (parse-time-iso8601-regexp) | 8 | * calendar/parse-time.el (parse-time-iso8601-regexp) |
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." | |||
| 503 | (varg (if (consp (car arg)) (cl-cadar arg) (car arg))) | 503 | (varg (if (consp (car arg)) (cl-cadar arg) (car arg))) |
| 504 | (def (if (cdr arg) (cadr arg) | 504 | (def (if (cdr arg) (cadr arg) |
| 505 | (or (car cl--bind-defs) (cadr (assq varg cl--bind-defs))))) | 505 | (or (car cl--bind-defs) (cadr (assq varg cl--bind-defs))))) |
| 506 | (look `(cl-loop for cl--arg on ,restarg by #'cddr | 506 | (look `(plist-member ,restarg ',karg))) |
| 507 | when (eq (car cl--arg) ',karg) return cl--arg))) | ||
| 508 | (and def cl--bind-enquote (setq def `',def)) | 507 | (and def cl--bind-enquote (setq def `',def)) |
| 509 | (if (cddr arg) | 508 | (if (cddr arg) |
| 510 | (let* ((temp (or (nth 2 arg) (make-symbol "--cl-var--"))) | 509 | (let* ((temp (or (nth 2 arg) (make-symbol "--cl-var--"))) |