aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Ingebrigtsen2021-09-13 11:53:18 +0200
committerLars Ingebrigtsen2021-09-13 11:53:18 +0200
commitba0be8df532a497f67bb5fc0188a0ac3c7278b39 (patch)
treeffd6da8d026f491242686ec71278b91ebaf5be11
parent2a3ef454c2bc1b8d21e22dc5d0e0d8b897f8187d (diff)
downloademacs-ba0be8df532a497f67bb5fc0188a0ac3c7278b39.tar.gz
emacs-ba0be8df532a497f67bb5fc0188a0ac3c7278b39.zip
Document named-let and update some NEWS tags
* doc/lispref/variables.texi (Local Variables): Document `named-let'.
-rw-r--r--doc/lispref/variables.texi19
-rw-r--r--etc/NEWS8
2 files changed, 26 insertions, 1 deletions
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 3b0331847d3..9646daab7ad 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.
302the forms, and then make the variables non-special again. 302the forms, and then make the variables non-special again.
303@end defspec 303@end defspec
304 304
305@defspec named-let name bindings &rest body
306This special form is like @code{let}: It binds the variables in
307@var{bindings}, and then evaluates @var{body}. However,
308@code{named-let} allows you to call @var{body} recursively by calling
309@var{name}, where the arguments passed to @var{name} are used as the
310new values of the bound variables in the recursive invocation.
311
312Here's a trivial example:
313
314@lisp
315(named-let foo
316 ((a 1)
317 (b 2))
318 (nconc (list a b)
319 (and (= a 1) (foo 3 4))))
320 @result{} (1 2 3 4)
321@end lisp
322@end defspec
323
305 Here is a complete list of the other facilities that create local 324 Here is a complete list of the other facilities that create local
306bindings: 325bindings:
307 326
diff --git a/etc/NEWS b/etc/NEWS
index 4e702081587..db98dbb026f 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -3828,6 +3828,7 @@ Until it is solved you could ignore such errors by performing
3828 3828
3829 (setq debug-ignored-errors (cons 'remote-file-error debug-ignored-errors)) 3829 (setq debug-ignored-errors (cons 'remote-file-error debug-ignored-errors))
3830 3830
3831+++
3831** New macro 'named-let' added to subr-x.el. 3832** New macro 'named-let' added to subr-x.el.
3832It provides Scheme's "named let" looping construct. 3833It provides Scheme's "named let" looping construct.
3833 3834
@@ -3840,6 +3841,7 @@ non-nil value to get back the old behavior, whereby after reading
3840from a subprocess, Emacs would check for output of other subprocesses 3841from a subprocess, Emacs would check for output of other subprocesses
3841in a way that is likely to read from the same process again. 3842in a way that is likely to read from the same process again.
3842 3843
3844+++
3843** 'set-process-buffer' now updates the process mark. 3845** 'set-process-buffer' now updates the process mark.
3844The mark will be set to point to the end of the new buffer. 3846The mark will be set to point to the end of the new buffer.
3845 3847
@@ -4041,6 +4043,7 @@ form below the header line. It is enabled by default in
4041--- 4043---
4042** 'ascii' is now a coding system alias for 'us-ascii'. 4044** 'ascii' is now a coding system alias for 'us-ascii'.
4043 4045
4046---
4044** New coding-systems for EBCDIC variants. 4047** New coding-systems for EBCDIC variants.
4045New coding-systems 'ibm256', 'ibm273', 'ibm274', 'ibm277', 'ibm278', 4048New coding-systems 'ibm256', 'ibm273', 'ibm274', 'ibm277', 'ibm278',
4046'ibm280', 'ibm281', 'ibm284', 'ibm285', 'ibm290', 'ibm297'. These are 4049'ibm280', 'ibm281', 'ibm284', 'ibm285', 'ibm290', 'ibm297'. These are
@@ -4103,8 +4106,11 @@ The new variable 'xwidget-webkit-download-dir' says where to download to.
4103 4106
4104--- 4107---
4105*** New command 'xwidget-webkit-clone-and-split-below'. 4108*** New command 'xwidget-webkit-clone-and-split-below'.
4109Open a new window below displaying the current URL.
4110
4111---
4106*** New command 'xwidget-webkit-clone-and-split-right'. 4112*** New command 'xwidget-webkit-clone-and-split-right'.
4107These are used in 'xwidget-webkit-mode'. 4113Open a new window to the right displaying the current URL.
4108 4114
4109--- 4115---
4110*** New variable 'xwidget-webkit-enable-plugins'. 4116*** New variable 'xwidget-webkit-enable-plugins'.