# HG changeset patch # User Stefan Monnier # Date 1204515604 0 # Node ID 31b671bf1dfc8fa00b6b5f65f278dbc978ec087e # Parent 646c75baf82e3407ff2408642edd88aff966e09f (byte-compile-maybe-guarded): Remove optimization that was working around the form-code-walker bug. diff -r 646c75baf82e -r 31b671bf1dfc lisp/ChangeLog --- a/lisp/ChangeLog Mon Mar 03 03:38:21 2008 +0000 +++ b/lisp/ChangeLog Mon Mar 03 03:40:04 2008 +0000 @@ -1,5 +1,8 @@ 2008-03-03 Stefan Monnier + * emacs-lisp/bytecomp.el (byte-compile-maybe-guarded): + Remove optimization that was working around the form-code-walker bug. + * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Walk into the body of lambdas after byte-compile-unfold-lambda. diff -r 646c75baf82e -r 31b671bf1dfc lisp/emacs-lisp/bytecomp.el --- a/lisp/emacs-lisp/bytecomp.el Mon Mar 03 03:38:21 2008 +0000 +++ b/lisp/emacs-lisp/bytecomp.el Mon Mar 03 03:40:04 2008 +0000 @@ -3569,23 +3569,7 @@ (byte-compile-bound-variables (if bound-list (append bound-list byte-compile-bound-variables) - byte-compile-bound-variables)) - ;; Suppress all warnings, for code not used in Emacs. - ;; FIXME: by the time this is executed the `featurep' - ;; emacs/xemacs tests have been optimized away, so this is - ;; not doing anything useful here, is should probably be - ;; moved to a different place. - ;; It is doing _something_. If this is commented out, then - ;; compiling a file which requires another file which - ;; defines a defsubst that uses (featurep 'xemacs) results - ;; in a spurious compilation warning about the xemacs code. Eg: - ;; (defsubst foo () (if (featurep 'xemacs) (setq foo t))) - ;; where foo is a free variable. - (byte-compile-warnings - (if (member ,condition '((featurep 'xemacs) - (not (featurep 'emacs)))) - nil byte-compile-warnings)) - ) + byte-compile-bound-variables))) (unwind-protect (progn ,@body) ;; Maybe remove the function symbol from the unresolved list.