Subject: [PATCH] ; (let-alist): Document double-dot escape syntax.

From: Eshel Yaron <[email-masked]>
Date: Sun, 26 Jan 2025 09:05:31 +0100

Tags: patch

Document a "hidden" let-alist feature.

>From 286f79bf5768fb093f0a044084a83a89fffe111f Mon Sep 17 00:00:00 2001
From: Eshel Yaron <[email-masked]>
Date: Sun, 26 Jan 2025 08:56:15 +0100
Subject: [PATCH] ; (let-alist): Document double-dot escape syntax.

---
 lisp/emacs-lisp/let-alist.el | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lisp/emacs-lisp/let-alist.el b/lisp/emacs-lisp/let-alist.el
index 239a4ad69eb..b79c2e51de9 100644
--- a/lisp/emacs-lisp/let-alist.el
+++ b/lisp/emacs-lisp/let-alist.el
@@ -146,6 +146,12 @@ let-alist
 inside the original alist by using dots inside the symbol, as
 displayed in the example above.
 
+To refer to a non-`let-alist' variable starting with a dot in BODY, use
+two dots instead of one.  For example, in the following form `..foo'
+refers to the variable `.foo' bound outside of the `let-alist':
+
+    (let ((.foo 42)) (let-alist \\='((foo . nil)) ..foo))
+
 Note that there is no way to differentiate the case where a key
 is missing from when it is present, but its value is nil.  Thus,
 the following form evaluates to nil:
-- 
2.46.2