From 1e035d357e3600462137efdbb5eaca6edda0907c Mon Sep 17 00:00:00 2001 From: Eshel Yaron 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 @@ the variables of the outer one. You can, however, access alists 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.39.5