]> git.eshelyaron.com Git - emacs.git/commitdiff
Check autoload's "type" argument correctly in bytecomp.el
authorGlenn Morris <rgm@gnu.org>
Wed, 19 Jun 2013 07:35:00 +0000 (00:35 -0700)
committerGlenn Morris <rgm@gnu.org>
Wed, 19 Jun 2013 07:35:00 +0000 (00:35 -0700)
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload):
Only eval autoloaded macros.
(byte-compile-autoload): Only give the macro warning for macros.

lisp/ChangeLog
lisp/emacs-lisp/bytecomp.el

index 2886d0e00d4bc9ef54af310ba82f5c3bc649a164..b35035df7292a3b05fd16ef5b94e53ec508a08a1 100644 (file)
@@ -1,5 +1,9 @@
 2013-06-19  Glenn Morris  <rgm@gnu.org>
 
+       * emacs-lisp/bytecomp.el (byte-compile-file-form-autoload):
+       Only eval autoloaded macros.
+       (byte-compile-autoload): Only give the macro warning for macros.
+
        * progmodes/cperl-mode.el (ps-bold-faces, ps-italic-faces)
        (ps-underlined-faces): Declare.
 
index 391401ae5d6ab66d3e8ac143acfa9448fbb8b5eb..f4e79dc4886b46a1c4c119666e5cc4549ef74ef7 100644 (file)
@@ -2215,7 +2215,7 @@ list that represents a doc string reference.
   (and (let ((form form))
         (while (if (setq form (cdr form)) (macroexp-const-p (car form))))
         (null form))                   ;Constants only
-       (eval (nth 5 form))             ;Macro
+       (memq (eval (nth 5 form)) '(t macro)) ;Macro
        (eval form))                    ;Define the autoload.
   ;; Avoid undefined function warnings for the autoload.
   (when (and (consp (nth 1 form))
@@ -4187,7 +4187,7 @@ binding slots have been popped."
   (byte-compile-set-symbol-position 'autoload)
   (and (macroexp-const-p (nth 1 form))
        (macroexp-const-p (nth 5 form))
-       (eval (nth 5 form))  ; macro-p
+       (memq (eval (nth 5 form)) '(t macro))  ; macro-p
        (not (fboundp (eval (nth 1 form))))
        (byte-compile-warn
        "The compiler ignores `autoload' except at top level.  You should