GNU bug report logs - #74540
30.0.91; mention special variables in lexbind Info page

Previous Next

Package: emacs;

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

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Mike Kupfer <kupfer <at> rawbw.com>
Subject: bug#74540: closed (Re: bug#74540: 30.0.91; mention special
 variables in lexbind Info page)
Date: Thu, 28 Nov 2024 15:29:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#74540: 30.0.91; mention special variables in lexbind Info page

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 74540 <at> debbugs.gnu.org.

-- 
74540: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74540
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Mike Kupfer <kupfer <at> rawbw.com>
Cc: 74540-done <at> debbugs.gnu.org
Subject: Re: bug#74540: 30.0.91; mention special variables in lexbind Info page
Date: Thu, 28 Nov 2024 17:28:31 +0200
> From: Mike Kupfer <kupfer <at> rawbw.com>
> Date: Mon, 25 Nov 2024 16:52:05 -0800
> 
> 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, installed on the emacs-30 branch, and closing the bug.

[Message part 3 (message/rfc822, inline)]
From: Mike Kupfer <kupfer <at> rawbw.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.91; mention special variables in lexbind Info page
Date: Mon, 25 Nov 2024 16:52:05 -0800
[Message part 4 (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 228 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.