GNU bug report logs -
#74540
30.0.91; mention special variables in lexbind Info page
Previous Next
Reported by: Mike Kupfer <kupfer <at> rawbw.com>
Date: Tue, 26 Nov 2024 00:53:02 UTC
Severity: normal
Found in version 30.0.91
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
When I first read up on lexical binding, I didn't realize that I also
needed to review the documentation for dynamic binding, so that I
could learn about special variables. I think it would be good for the
Info page for lexical binding to mention special variables, clarify
that the specialness also affects new bindings (not just the initial
defvar/defcustom/defconst), and provide a link to the page for dynamic
binding (for details about special variables).
I've enclosed a draft patch for your consideration.
thanks,
mike
[lexbind-special-vars.patch (text/x-diff, inline)]
user: Mike Kupfer <kupfer <at> rawbw.com>
date: Mon Nov 25 15:37:53 2024 -0800
files: doc/lispref/variables.texi
description:
Mention special variables in lexical binding documentation
* doc/lispref/variables.texi (Lexical Binding): Briefly mention
special variables and their semantics.
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -1096,7 +1096,7 @@
@end example
@noindent
-The @code{let} binding defines a lexical environment in which the
+Here, the @code{let} binding defines a lexical environment in which the
variable @code{x} is locally bound to 0. Within this binding
construct, we define a lambda expression which increments @code{x} by
one and returns the incremented value. This lambda expression is
@@ -1113,6 +1113,12 @@
variable's dynamic binding (i.e., the contents of its symbol's value
cell).
+ Note also that variables may be declared special, in which case they
+will use dynamic binding, even for new bindings such as a @code{let}
+binding. Depending on how the variable is declared, it can be
+special globally, for a single file, or for a portion of a file.
+@xref{Dynamic Binding} for details.
+
@node Dynamic Binding
@subsection Dynamic Binding
This bug report was last modified 176 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.