]> git.eshelyaron.com Git - emacs.git/commitdiff
(macro-declaration-function): Avoid `dolist' and `cadr'.
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 18 May 2003 02:31:19 +0000 (02:31 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 18 May 2003 02:31:19 +0000 (02:31 +0000)
lisp/subr.el

index 864af300e3e3a59cb8993d514a4574386e0aaa59..54e1d04df22e44818bef1c96de577e3ecc714dd3 100644 (file)
@@ -43,13 +43,17 @@ This is set as the value of the variable `macro-declaration-function'.
 MACRO is the name of the macro being defined.
 DECL is a list `(declare ...)' containing the declarations.
 The return value of this function is not used."
-  (dolist (d (cdr decl))
-    (cond ((and (consp d) (eq (car d) 'indent))
-          (put macro 'lisp-indent-function (cadr d)))
-         ((and (consp d) (eq (car d) 'debug))
-          (put macro 'edebug-form-spec (cadr d)))
-         (t
-          (message "Unknown declaration %s" d)))))
+  ;; We can't use `dolist' or `cadr' yet for bootstrapping reasons.
+  (let (d)
+    ;; Ignore the first element of `decl' (it's always `declare').
+    (while (setq decl (cdr decl))
+      (setq d (car decl))
+      (cond ((and (consp d) (eq (car d) 'indent))
+            (put macro 'lisp-indent-function (car (cdr d))))
+           ((and (consp d) (eq (car d) 'debug))
+            (put macro 'edebug-form-spec (car (cdr d))))
+           (t
+            (message "Unknown declaration %s" d))))))
 
 (setq macro-declaration-function 'macro-declaration-function)