diff options
| author | Tom Tromey | 2012-12-23 15:14:19 -0700 |
|---|---|---|
| committer | Tom Tromey | 2012-12-23 15:14:19 -0700 |
| commit | 63d535c829a930207b64fe733228f15a554644b1 (patch) | |
| tree | 03ed0da035fec34b8bc94041255435c3fbed99fe | |
| parent | 0e10ed2c37cffbad60f61ee7fafde07ad05016f6 (diff) | |
| download | emacs-63d535c829a930207b64fe733228f15a554644b1.tar.gz emacs-63d535c829a930207b64fe733228f15a554644b1.zip | |
mention let bindings and lack of other ways to rewind
| -rw-r--r-- | doc/lispref/threads.texi | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/doc/lispref/threads.texi b/doc/lispref/threads.texi index d7e4b0ab2ae..9c333546040 100644 --- a/doc/lispref/threads.texi +++ b/doc/lispref/threads.texi | |||
| @@ -31,6 +31,13 @@ local variables are not---a dynamic @code{let} binding is local. Each | |||
| 31 | thread also has its own current buffer (@pxref{Current Buffer}) and | 31 | thread also has its own current buffer (@pxref{Current Buffer}) and |
| 32 | its own match data (@pxref{Match Data}). | 32 | its own match data (@pxref{Match Data}). |
| 33 | 33 | ||
| 34 | Note that @code{let} bindings are treated specially by the Emacs | ||
| 35 | Lisp implementation. There is no way to duplicate this unwinding and | ||
| 36 | rewinding behavior other than by using @code{let}. For example, a | ||
| 37 | manual implementation of @code{let} written using | ||
| 38 | @code{unwind-protect} cannot arrange for variable values to be | ||
| 39 | thread-specific. | ||
| 40 | |||
| 34 | In the case of lexical bindings (@pxref{Variable Scoping}), a | 41 | In the case of lexical bindings (@pxref{Variable Scoping}), a |
| 35 | closure is an object like any other in Emacs Lisp, and bindings in a | 42 | closure is an object like any other in Emacs Lisp, and bindings in a |
| 36 | closure are shared by any threads invoking the closure. | 43 | closure are shared by any threads invoking the closure. |