[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master ba0be8d: Document named-let and update some NEWS tags
From: |
Lars Ingebrigtsen |
Subject: |
master ba0be8d: Document named-let and update some NEWS tags |
Date: |
Mon, 13 Sep 2021 05:53:26 -0400 (EDT) |
branch: master
commit ba0be8df532a497f67bb5fc0188a0ac3c7278b39
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Document named-let and update some NEWS tags
* doc/lispref/variables.texi (Local Variables): Document `named-let'.
---
doc/lispref/variables.texi | 19 +++++++++++++++++++
etc/NEWS | 8 +++++++-
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 3b03318..9646daa 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -302,6 +302,25 @@ Binding}), but it's impractical to @code{defvar} these
variables.
the forms, and then make the variables non-special again.
@end defspec
+@defspec named-let name bindings &rest body
+This special form is like @code{let}: It binds the variables in
+@var{bindings}, and then evaluates @var{body}. However,
+@code{named-let} allows you to call @var{body} recursively by calling
+@var{name}, where the arguments passed to @var{name} are used as the
+new values of the bound variables in the recursive invocation.
+
+Here's a trivial example:
+
+@lisp
+(named-let foo
+ ((a 1)
+ (b 2))
+ (nconc (list a b)
+ (and (= a 1) (foo 3 4))))
+ @result{} (1 2 3 4)
+@end lisp
+@end defspec
+
Here is a complete list of the other facilities that create local
bindings:
diff --git a/etc/NEWS b/etc/NEWS
index 4e70208..db98dbb 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -3828,6 +3828,7 @@ Until it is solved you could ignore such errors by
performing
(setq debug-ignored-errors (cons 'remote-file-error debug-ignored-errors))
++++
** New macro 'named-let' added to subr-x.el.
It provides Scheme's "named let" looping construct.
@@ -3840,6 +3841,7 @@ non-nil value to get back the old behavior, whereby after
reading
from a subprocess, Emacs would check for output of other subprocesses
in a way that is likely to read from the same process again.
++++
** 'set-process-buffer' now updates the process mark.
The mark will be set to point to the end of the new buffer.
@@ -4041,6 +4043,7 @@ form below the header line. It is enabled by default in
---
** 'ascii' is now a coding system alias for 'us-ascii'.
+---
** New coding-systems for EBCDIC variants.
New coding-systems 'ibm256', 'ibm273', 'ibm274', 'ibm277', 'ibm278',
'ibm280', 'ibm281', 'ibm284', 'ibm285', 'ibm290', 'ibm297'. These are
@@ -4103,8 +4106,11 @@ The new variable 'xwidget-webkit-download-dir' says
where to download to.
---
*** New command 'xwidget-webkit-clone-and-split-below'.
+Open a new window below displaying the current URL.
+
+---
*** New command 'xwidget-webkit-clone-and-split-right'.
-These are used in 'xwidget-webkit-mode'.
+Open a new window to the right displaying the current URL.
---
*** New variable 'xwidget-webkit-enable-plugins'.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master ba0be8d: Document named-let and update some NEWS tags,
Lars Ingebrigtsen <=