Subject: Re: bug#30078: 27.0.50; Use lexical-binding for M-:

From: Eli Zaretskii <[email-masked]>
Date: Mon, 19 Mar 2018 22:10:35 +0200

> From: Stefan Monnier <[email-masked]>
> Date: Mon, 19 Mar 2018 15:32:23 -0400
> Cc: [email-masked]
> 
> lexbind-Elisp language is a strict superset of the
> dynbind-Elisp language and for that reason I don't see any reason other
> than backward compatibility to keep dynbind-Elisp.
> 
> I'm not trying to fool people by "doing it one subtle step at a time",
> I'm only trying to make this switch as painless as possible.  I don't
> yet have a plan for how we'll get rid of dynbind-Elisp and I'm sure
> it'll take many years and several more steps, some of them less subtle
> than others.  Some of the steps I could imagine introducing in the not
> too distant future:
> - finish converting all Emacs's .el files to use lexical-binding:t.
> - emit a warning when opening an Elisp file which doesn't specify
>   `lexical-binding:t' in its local vars.
> - emit a warning when `eval` is called without a nil 2nd arg.

Really?  Get rid of dynamic binding in ELisp?  Why is that a good
idea?  It would mean old code will not run in Emacs for no good
reason.

> It's dynamic binding which is the odd one out

Not for me, it isn't.  Maybe that means _I_ amd the odd one out.