From ca7c278e32d43160c18f2ef8e324bf3b9be5c687 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 18 Aug 2022 12:28:26 -0400 Subject: [PATCH] * doc/misc/cl.texi (Macro Bindings): Fix bug#57263 Update `cl-symbol-macrolet` according to the change in response to bug#26073. --- doc/misc/cl.texi | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 07c19e37ce4..a7548bb1f8a 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -1381,19 +1381,10 @@ bar A @code{setq} of a symbol macro is treated the same as a @code{setf}. I.e., @code{(setq foo 4)} in the above would be equivalent to -@code{(setf foo 4)}, which in turn expands to @code{(setf (car bar) 4)}. - -Likewise, a @code{let} or @code{let*} binding a symbol macro is -treated like a @code{cl-letf} or @code{cl-letf*}. This differs from true -Common Lisp, where the rules of lexical scoping cause a @code{let} -binding to shadow a @code{symbol-macrolet} binding. In this package, -such shadowing does not occur, even when @code{lexical-binding} is -@c See https://debbugs.gnu.org/12119 -@code{t}. (This behavior predates the addition of lexical binding to -Emacs Lisp, and may change in future to respect @code{lexical-binding}.) -At present in this package, only @code{lexical-let} and -@code{lexical-let*} will shadow a symbol macro. @xref{Obsolete -Lexical Binding}. +@code{(setf foo 4)}, which in turn expands to @code{(setf (car bar) +4)}. A @code{let} (or @code{let*}, @code{lambda}, ...) binding of +the same symbol will locally shadow the symbol macro as is the case in +Common Lisp. There is no analogue of @code{defmacro} for symbol macros; all symbol macros are local. A typical use of @code{cl-symbol-macrolet} is in the -- 2.39.2