diff options
| author | Lars Ingebrigtsen | 2021-09-13 11:53:18 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2021-09-13 11:53:18 +0200 |
| commit | ba0be8df532a497f67bb5fc0188a0ac3c7278b39 (patch) | |
| tree | ffd6da8d026f491242686ec71278b91ebaf5be11 | |
| parent | 2a3ef454c2bc1b8d21e22dc5d0e0d8b897f8187d (diff) | |
| download | emacs-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.texi | 19 | ||||
| -rw-r--r-- | etc/NEWS | 8 |
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. | |||
| 302 | the forms, and then make the variables non-special again. | 302 | the 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 | ||
| 306 | This 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 | ||
| 310 | new values of the bound variables in the recursive invocation. | ||
| 311 | |||
| 312 | Here'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 |
| 306 | bindings: | 325 | bindings: |
| 307 | 326 | ||
| @@ -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. |
| 3832 | It provides Scheme's "named let" looping construct. | 3833 | It 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 | |||
| 3840 | from a subprocess, Emacs would check for output of other subprocesses | 3841 | from a subprocess, Emacs would check for output of other subprocesses |
| 3841 | in a way that is likely to read from the same process again. | 3842 | in 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. |
| 3844 | The mark will be set to point to the end of the new buffer. | 3846 | The 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. |
| 4045 | New coding-systems 'ibm256', 'ibm273', 'ibm274', 'ibm277', 'ibm278', | 4048 | New 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'. |
| 4109 | Open 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'. |
| 4107 | These are used in 'xwidget-webkit-mode'. | 4113 | Open 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'. |