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.
(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))
(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