Subject: Re: bug#66706: [PATCH] Automatic elisp dialect insertion

From: Po Lu <[email-masked]>
Date: Thu, 26 Oct 2023 08:01:40 +0800

Stefan Monnier <[email-masked]> writes:

>> OK, and why is it such a reply does not suffice?  And why would any
>> measure short of initializing lexical-binding to t eliminate these
>> people, when so many have failed in the past?
>
> Initializing lexical-binding to t by default is currently not an
> option, because it would introduce too much breakage.  For this
> reason, we need to take smaller steps that will later make this change
> possible.

As previously mentioned, the law of diminishing returns now applies in
full force.  The intensity of our measures has grown substantially from
merely introducing lexical binding, to converting all our code to use
it, displaying a prominent indicator in the mode line, and ultimately
generating warnings when dynamically bound code is compiled.  The
proposed measure ups the ante from wheedling to browbeating, with
scarcely any evidence to substantiate the assertion that it will reduce
the (already negligible) prevalence of dynamic binding.  What's next,
duress?  Perhaps that will first take the form of a prohibition on
dynamically bound packages in ELPA, and gradually toughen thereafter?

One genuine step towards enabling lexical binding by default is the
revision of the Lisp introduction to describe it.  Of course time and
again, people here have demonstrated themselves so much more eager for
imperiousness towards users than the comparatively bland task of
writing.

Or perhaps such users of Emacs as those qualified to undertake this
writing don't share your fervor for lexical binding.  Which can only be
a good thing, as it were.

> Because it will reduce the occurrence of the case where I copy a chunk
> of code which relies on dynbind and then incorrectly execute it in
> lexbind mode in `M-:` or ielm.

The incidence of such code is low as it stands.