Small check-declare fix.
authorGlenn Morris <rgm@gnu.org>
Thu, 5 May 2011 06:27:24 +0000 (23:27 -0700)
committerGlenn Morris <rgm@gnu.org>
Thu, 5 May 2011 06:27:24 +0000 (23:27 -0700)
* lisp/emacs-lisp/check-declare.el (check-declare-scan):
Handle byte-compile-initial-macro-environment in bytecomp.el

lisp/ChangeLog
lisp/emacs-lisp/check-declare.el

index 7a491bd..5d40325 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-05  Glenn Morris  <rgm@gnu.org>
+
+       * emacs-lisp/check-declare.el (check-declare-scan):
+       Handle byte-compile-initial-macro-environment in bytecomp.el
+
 2011-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        Fix earlier half-done eieio-defmethod change (bug#8338).
index f6ff67a..e15920e 100644 (file)
@@ -88,9 +88,11 @@ don't know how to recognize (e.g. some macros)."
       ;; FIXME we could theoretically be inside a string.
       (while (re-search-forward "^[ \t]*\\((declare-function\\)[ \t\n]" nil t)
         (goto-char (match-beginning 1))
-        (if (and (setq form (ignore-errors (read (current-buffer)))
-                       len (length form))
-                 (> len 2) (< len 6)
+        (if (and (setq form (ignore-errors (read (current-buffer))))
+                 ;; Exclude element of byte-compile-initial-macro-environment.
+                 (or (listp (cdr form)) (setq form nil))
+                 (> (setq len (length form)) 2)
+                 (< len 6)
                  (symbolp (setq fn (cadr form)))
                  (setq fn (symbol-name fn)) ; later we use as a search string
                  (stringp (setq fnfile (nth 2 form)))
@@ -104,7 +106,7 @@ don't know how to recognize (e.g. some macros)."
                  (symbolp (setq fileonly (nth 4 form))))
             (setq alist (cons (list fnfile fn arglist fileonly) alist))
           ;; FIXME make this more noticeable.
-          (message "Malformed declaration for `%s'" (cadr form)))))
+          (if form (message "Malformed declaration for `%s'" (cadr form))))))
     (message "%sdone" m)
     alist))