bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#66706: [PATCH] Automatic elisp dialect insertion


From: Jim Porter
Subject: bug#66706: [PATCH] Automatic elisp dialect insertion
Date: Wed, 25 Oct 2023 18:19:20 -0700

On 10/25/2023 5:51 PM, Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote:
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.)

Nothing is "missing" but the above describes dynamic binding, static
binding has a different behavior which is not like "a setq at the
beginning which is undone at the end".  So this paragraph needs to be
fully rewritten.

This is helpful. The bit about 'setq' seemed a bit roundabout (to say the least), and while I can see how it might help explain 'let' to a novice, it's probably more likely to mislead them instead.

I'll start with a patch here then. I think this is also a prime spot to add an example or two that would actually show lexical binding in action (i.e. a sample where the code would do something different under dynamic binding).

- Jim





reply via email to

[Prev in Thread] Current Thread [Next in Thread]