Just pushed a fix for this bug. Thanks for the bug report!

Vladimir

On Tue, Sep 6, 2011 at 5:48 PM,  <[email protected]> wrote:
> It appears as though there might be a gap in the lexical scoping
> implementation in the compiler:
>
> (ps (lambda (x)
>      (let ((x 1))
>        (foo x))
>      (incf x)))
> =>
> "function (x) {
>    var x = 1;
>    foo(x);
>    return ++x;
> };"
>
> vs.
>
> (ps (let ((x 10))
>      (let ((x 1))
>        (foo x))
>      (incf x)))
>
> "var x = 10;
> var x33 = 1;
> foo(x33);
> ++x;"
>
> Although function parameters have their own lexical bindings,
> the environment still needs to be informed of those bindings
> so that LET forms in the function body can rename any conflicts.
>
>        Scott
>
> _______________________________________________
> parenscript-devel mailing list
> [email protected]
> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>

_______________________________________________
parenscript-devel mailing list
[email protected]
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel

Reply via email to