diff options
author | Tom Tromey <tromey@redhat.com> | 2012-12-23 15:14:19 -0700 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2012-12-23 15:14:19 -0700 |
commit | 63d535c829a930207b64fe733228f15a554644b1 (patch) | |
tree | 03ed0da035fec34b8bc94041255435c3fbed99fe /doc/lispref/threads.texi | |
parent | 0e10ed2c37cffbad60f61ee7fafde07ad05016f6 (diff) | |
download | emacs-63d535c829a930207b64fe733228f15a554644b1.tar.gz emacs-63d535c829a930207b64fe733228f15a554644b1.tar.bz2 emacs-63d535c829a930207b64fe733228f15a554644b1.zip |
mention let bindings and lack of other ways to rewind
Diffstat (limited to 'doc/lispref/threads.texi')
-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 thread also has its own current buffer (@pxref{Current Buffer}) and its own match data (@pxref{Match Data}). + Note that @code{let} bindings are treated specially by the Emacs +Lisp implementation. There is no way to duplicate this unwinding and +rewinding behavior other than by using @code{let}. For example, a +manual implementation of @code{let} written using +@code{unwind-protect} cannot arrange for variable values to be +thread-specific. + In the case of lexical bindings (@pxref{Variable Scoping}), a closure is an object like any other in Emacs Lisp, and bindings in a closure are shared by any threads invoking the closure. |