From: Eshel Yaron Date: Sun, 26 Jan 2025 07:56:15 +0000 (+0100) Subject: ; (let-alist): Document double-dot escape syntax. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1e035d357e3600462137efdbb5eaca6edda0907c;p=emacs.git ; (let-alist): Document double-dot escape syntax. --- 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: