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

From: Jim Porter <[email-masked]>
Date: Wed, 25 Oct 2023 17:07:00 -0700

On 10/25/2023 6:20 AM, Po Lu via Bug reports for GNU Emacs, the Swiss 
army knife of text editors wrote:
> We cannot make lexical binding the default until an adequately
> proficient writer is found to explain it within the Emacs Lisp
> introduction.  Any volunteers?  For doing so would certainly be more
> conducive towards that goal.

If we can get some high-level agreement on things that this explanation 
should include (I'm not sure how much detail we want to go into in the 
ELisp Intro), I could take a stab at it.

In particular, what's missing from the following paragraph[1]?

> Another way to think about let is that it is like a setq that is temporary and local. The values set by let are automatically undone when the let is finished. The setting only affects expressions that are inside the bounds of the let expression. In computer science jargon, we would say the binding of a symbol is visible only in functions called in the let form; in Emacs Lisp, the default scoping is dynamic, not lexical. (The non-default lexical binding is not discussed in this manual.) 
[1] 
https://www.gnu.org/software/emacs/manual/html_node/eintr/Prevent-confusion.html