Subject: Re: bug#74145: 31.0.50; Default lexical-binding to t

From: Richard Stallman <[email-masked]>
Date: Tue, 25 Feb 2025 18:45:44 -0500

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > > Those users should be informed that they need to change something
  > > before it has a chance to break things, so this should be sign-posted
  > > for a long time in advance of the actual change, so that users really
  > > do have time to adapt.

  > I believe the advance warning has been in place for over 10 years at
  > this point, and not just for ELisp developers.

I think you're talking about a general, abstract warning, which says
thet code which works in certain ways will need to be changed somehow,
some day.  That is better than nothing, but it some users would not
understand what they need to do.

  > For instance, while it may not have been entirely accurate, the release
  > announcement for Emacs 27.1 already stated that:

  >     "Lexical-binding is used by default"[1]

That is an nonspecific abstract warning -- it does tells users that
something will need to be changed, but does ot say what or where.

  > Additionally, in the mode line, we display a warning if a file does not
  > use lexical-binding.

That warning sounds more specific, but is it adequately clear?  I am
not sure, because that would depend on details not stated here.

Does it warn about file FOO.el when you load it?  Or when you visit it
to edit it?  Or both?  (I don't recall ever seeing it.)

Does the warning remain in a log that the user can easily visit, such
as the *Messages* buffer, or in a *Compile* buffer whne bootstrapping?

If this warning is very visible, and remains visible for a substantial
time, and tells the user contrtely what to change (Such as, "Give the
file a specifiction of `lexical-binding'"), maybe it is already good
enough now.

Let's actively help our users adapt to our changes.  If this warning
not already visible and concrete enough, let's make it so!

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)