--- Begin Message ---
Subject: |
23.0.92; doc string for lexical-let* |
Date: |
Fri, 1 May 2009 11:10:53 -0700 |
Doc string:
Like `let*', but lexically scoped.
The main visible difference is that lambdas inside BODY will create
lexical closures as in Common Lisp.
It doesn't say this, but that can give the impression that it is only
in the BODY that this happens. It also happens in successive
bindings. That is, in (lexical-let* ((a X)(b Y)) BODY) the lexical
binding of `a' is in effect not only in BODY but also in Y.
I suspect that the second sentence of the doc string was simply
copy+pasted from the doc string for `lexical-let'. In `lexical-let',
only the BODY is pertinent, but in `lexical-let*', there is also the
question of what happens in the right hand side of each binding.
The doc string (and the Emacs CL manual) should also say explicitly
that the behavior is the same as Common Lisp's `let*' (except that CL
treats CL's special variables specially).
In GNU Emacs 23.0.92.1 (i386-mingw-nt5.1.2600)
of 2009-03-30 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'
--- End Message ---
--- Begin Message ---
Subject: |
Re: 23.0.92; doc string for lexical-let* |
Date: |
Sun, 10 May 2009 18:01:12 -0400 |
> It doesn't say this, but that can give the impression that it is only
> in the BODY that this happens. It also happens in successive
> bindings. That is, in (lexical-let* ((a X)(b Y)) BODY) the lexical
> binding of `a' is in effect not only in BODY but also in Y.
Done, thanks.
--- End Message ---