Daniel Gackle danielgackle@gmail.com writes:
In this example, the CREATE form is being expanded incorrectly, because the symbol A passed to it is not a reference to either of the lexical variables in scope.
(ps (let ((a 99)) (let ((a 22)) (create a 33))))
=>
"var a = 99; var a666 = 22; { a666 : 33 };"
This works on my branch.
Lexical renaming is implementing in a very wrong way in the main parenscript branch (by abusing symbol macros). I have introduced a js:let syntax form and perform renaming at print time instead. The implementation is significantly shorter and works for all cases.
http://git.hcoop.net/?p=clinton/parenscript.git;a=summary