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.
Have you run the PS unit tests on your branch? I just cloned your repository (up to patch faa26a99e6712), and it doesn't compile, but from looking at the code it would seem your changes wouldn't handle special variables, and maybe a few other things.
I don't think there's anything wrong with using symbol-macrolet as the mechanism to implement renaming - so far I haven't been able to think of any cases where it would cause a conflict.
Another thing I want to do is to make the PS printer take as input an s-expression representation of JavaScript - I'm working on a JS parser that will produce that representation as output, and a translator from the representation to CL. Eventually I want to take the printer out of Parenscript and move it into a separate project. So I'm a little against putting in non-JS constructs into the language that the printer understands.
Vladimir
http://git.hcoop.net/?p=clinton/parenscript.git;a=summary
-- Lindsay (Carlton): nighttime baker! sounds a little iffy
parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel