Subject: RE: [External] : bug#66636: Move lexical-binding warning from checkdoc to byte-compiler

From: Drew Adams <[email-masked]>
Date: Fri, 20 Oct 2023 16:27:48 +0000

> There exist many packages which do not enable
> lexical binding, whose authors have studiously
> elected not to: most of Drew Adams' for example.

Only because they are old or intended to
support also old Emacs releases.

I'm on record from Day One as _favoring_
the approach of Common Lisp (and now
Elisp) of lexical binding by default and
dynamic binding for variable declared as
special.

> So this is tantamount to punitive action
> against their users, in the form of an
> unsightly warning each time such
> packages are installed.

I can't speak for anyone else, obviously,
but for my part such warnings don't
particularly bother me for my libraries.

On the other hand, it's not clear to me
why we would have warnings other than for
byte-compiling.  (I just haven't been
following this - there might be a good
reason; dunno.)

The one thing that does bother me about
the change to what I prefer (lexical by
default) is the outright _removal_ of
`lexical-let[*]'.  This is really a
bother.  Code can be complex, and for a
library that has several uses of this
macro it's not necessarily simple to
modify it to use only (lexical) `let[*]'.

IMHO, it should have been (still should
be) possible to keep support for
`lexical-let[*]' around for much longer
- maybe forever.  It should be enough
to tell users not to use it for new code,
and why.
___

In _general_, I'm not crazy about Emacs
removing things, no matter how old or
deprecated.  If their code path isn't
used it should be no bother, especially
if it's relatively separate from other
code paths.

Deprecation alone generally means (1)
the thing is still supported but (2)
it's not enhanced.  And it would be
tolerable if deprecation even meant no
bug fixes.

An overeager-beaver impetus to _remove_
features is generally misguided, IMO.
But yeah, I'm not maintaining Emacs, so
this is easy for me to say.  (Just one
opinion.)