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