
Further to the previous bug report, I noticed that lexical variables are being renamed unnecessarily in this case: (ps (let ((x (@ foo x))) (blah x))) => "var x2 = foo.x; blah(x2);" Here the generated code isn't incorrect, as in the bug with CREATE, but I wonder if the two problems aren't related: in each case, PS appears to mistake a symbol reference for a lexical variable reference. On Fri, Oct 9, 2009 at 2:00 PM, Daniel Gackle <danielgackle@gmail.com>wrote:
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 };"