changeset 92427:31b671bf1dfc

(byte-compile-maybe-guarded): Remove optimization that was working around the form-code-walker bug.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 03 Mar 2008 03:40:04 +0000
parents 646c75baf82e
children 0e803f4d8cd5
files lisp/ChangeLog lisp/emacs-lisp/bytecomp.el
diffstat 2 files changed, 4 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- 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  <monnier@iro.umontreal.ca>
 
+	* 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.
 
--- 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.