Subject: Re: bug#66636: Move lexical-binding warning from checkdoc to byte-compiler

From: Eli Zaretskii <[email-masked]>
Date: Fri, 20 Oct 2023 10:21:32 +0300

> From: Po Lu <[email-masked]>
> Cc: Stefan Monnier <[email-masked]>,  [email-masked],
>   [email-masked]
> Date: Fri, 20 Oct 2023 15:13:15 +0800
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> Cc: [email-masked]
> >> Date: Fri, 20 Oct 2023 14:09:45 +0800
> >> From:  Po Lu via "Bug reports for GNU Emacs,
> >>  the Swiss army knife of text editors" <[email-masked]>
> >> 
> >> Mattias Engdegård <[email-masked]> writes:
> >> 
> >> > The warning about a missing lexical-binding cookie rather belongs in
> >> > the compiler than checkdoc, because it's not about documentation or
> >> > style but code generation and ability to detect errors, both which are
> >> > hindered by a missing cookie.
> >> >
> >> > Moving the warning to the compiler also makes it more widely seen.
> >> 
> >> So long as this warning is only displayed within code part of Emacs
> >> itself, there are no valid objections to such a change.
> >> 
> >> But you have instead elected to generate warnings whenever such files
> >> are byte-compiled.  There exist many packages which do not enable
> >> lexical binding, whose authors have studiously elected not to: most of
> >> Drew Adams' for example.  So this is tantamount to punitive action
> >> against their users, in the form of an unsightly warning each time such
> >> packages are installed.
> >
> > Cannot such packages disable this warning in file-local variables?
> 
> I don't think so, at least insomuch as byte-compile-warnings doesn't
> function as a file-local variable.

Then maybe we should allow that for this new warning (and potentially
also other warnings).