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

From: Po Lu <[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.