summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorDaniel Colascione <dancol@dancol.org>2014-03-22 22:50:24 -0700
committerDaniel Colascione <dancol@dancol.org>2014-03-22 22:50:24 -0700
commitc6b0fbe7dba2ed10fa390a8772a2c2b5d6485b2a (patch)
treec6b3f688c125ef7af1bffb82e467adceebb0ac38 /lisp/emacs-lisp
parent3768a86998e3da26c091b138e86a0e2c80e82644 (diff)
downloademacs-c6b0fbe7dba2ed10fa390a8772a2c2b5d6485b2a.tar.gz
emacs-c6b0fbe7dba2ed10fa390a8772a2c2b5d6485b2a.tar.bz2
emacs-c6b0fbe7dba2ed10fa390a8772a2c2b5d6485b2a.zip
Fix cl-defun keyword arg parsing. Please bootstrap.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-macs.el3
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index b1861cf7dfa..ae939c9c0e9 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -503,7 +503,8 @@ 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 `(memq ',karg ,restarg)))
+ (look `(cl-loop for cl--arg on ,restarg by #'cddr
+ when (eq (car cl--arg) ',karg) return cl--arg)))
(and def cl--bind-enquote (setq def `',def))
(if (cddr arg)
(let* ((temp (or (nth 2 arg) (make-symbol "--cl-var--")))