]> git.eshelyaron.com Git - emacs.git/commitdiff
Document named-let and update some NEWS tags
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 13 Sep 2021 09:53:18 +0000 (11:53 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 13 Sep 2021 09:53:18 +0000 (11:53 +0200)
* doc/lispref/variables.texi (Local Variables): Document `named-let'.

doc/lispref/variables.texi
etc/NEWS

index 3b0331847d3a6470295de5c697dab182f63c1dd3..9646daab7ad71dfebf79407db6a27920d8a29db2 100644 (file)
@@ -300,6 +300,25 @@ that certain variables are dynamically bound (@pxref{Dynamic
 Binding}), but it's impractical to @code{defvar} these variables.
 @code{dlet} will temporarily make the bound variables special, execute
 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
index 4e7020815877ae2fa5ecefaaa526a58a836f142d..db98dbb026f6e3d5c4328f5384381b91bf85c7f8 100644 (file)
--- 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'.