Subject: Re: bug#6275: 23.2; warning-suppress-types is void after defadvice
From: Stefan Monnier <[email-masked]>
To: SAITO Takuya <[email-masked]>
Date: Tue, 08 Jun 2010 21:22:25 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

forcemerge 6275 6373
thanks

> Debugger entered--Lisp error: (void-variable warning-suppress-types)
[...]
> ad-compile-function() binds warning-suppress-types with let.
> I guess warnings.el is loaded inside of that let-binding.

Indeed, thank you.  I've installed the patch below which should fix it.

        Stefan

=== modified file 'lisp/emacs-lisp/advice.el'
--- lisp/emacs-lisp/advice.el	2010-02-15 20:03:22 +0000
+++ lisp/emacs-lisp/advice.el	2010-06-09 01:16:08 +0000
@@ -2684,6 +2684,8 @@
       ;; because `byte-compile' uses `fset':
       (ad-with-auto-activation-disabled
        (require 'bytecomp)
+       (require 'warnings)              ;To define warning-suppress-types
+                                        ;before we let-bind it.
        (let ((symbol (make-symbol "advice-compilation"))
 	     (byte-compile-warnings byte-compile-warnings)
              ;; Don't pop up windows showing byte-compiler warnings.