From: Glenn Morris Date: Wed, 19 Jun 2013 07:35:00 +0000 (-0700) Subject: Check autoload's "type" argument correctly in bytecomp.el X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~2016^2~46 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2285bd27abf63a460d7025b2e5579f67cdd2e6fb;p=emacs.git Check autoload's "type" argument correctly in bytecomp.el * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Only eval autoloaded macros. (byte-compile-autoload): Only give the macro warning for macros. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2886d0e00d4..b35035df729 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2013-06-19 Glenn Morris + * 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. diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 391401ae5d6..f4e79dc4886 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -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