Subject: Re: bug#6740: Spurious byte compiler warnings

From: Juanma Barranquero <[email-masked]>
Date: Wed, 28 Jul 2010 00:57:04 +0200

On Tue, Jul 27, 2010 at 23:23, Alan Mackenzie <[email-masked]> wrote:

> It's a bug that the error message is repeated, at the very least.

Yes, likely.

> And
> the message is most assuredly false because (featurep 'cc-fix) isn't
> always false - for example when it's run under XEmacs.

Not, in code byte-compiled for Emacs it is always false because
(featurep 'xemacs) is false. That means that optimized bytecode is not
portable to XEmacs. But I don't think it was before (for a long time).

> At the very least, emitting such arcane warnings is unhelpful.  Are there
> any circumstances in which such a warning might help a hacker improve his
> code?  Surely we aren't in the business of making it difficult to adapt
> code for XEmacs?

You make it appear as it if were an attempt to warn about using
XEmacs-specific code, but it is not, as Dan has pointed out. The
warning is generic, the result of

  (and X (featurep 'xemacs) Y Z...)  => (prog (and X) nil) => (prog X
nil)   ; IIUC the comments in byte-opt.el...

from whence, "value returned from X is unused".

> I think it's clear, the only code containing (featurep 'xemacs) is
> portable code.

The code is portable. The .elc is not.

    Juanma