Subject: Re: bug#58513: describe-function should say that defconst variables are constant

From: Stefan Monnier <[email-masked]>
Date: Sat, 15 Oct 2022 10:11:35 -0400

Stefan Kangas [2022-10-15 12:33:29] wrote:
> Stefan Monnier <[email-masked]> writes:
>> The byte-compiler already does warn about it, but only if the assignment
>> is in the same file as the `defconst`.
> I don't get any warnings with this recipe:
>
>     echo "(defconst foo-bar t) (setq foo-bar nil)" > /tmp/foo.el
>     emacs -Q -batch -eval '(byte-compile-file "/tmp/foo.el")'
>
> Am I missing something?

Hmm... I don't get a warning either.  And looking at `bytecomp.el` I see
that we push stuff to `byte-compile-const-variables` but we never look
stuff up in it :-(

I'm pretty sure I wrote some code to use that variable (apparently
around 2003), but apparently it got lost in subsequent changes, probably
when we introduced lexical-binding.

        Stefan