Further to the previous bug report, I noticed that lexical variables are being renamed unnecessarily in this case:<br><br>(ps (let ((x (@ foo x)))<br> (blah x)))<br> => <br>"var x2 = foo.x;<br>blah(x2);"<br>
<br>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.<br>
<br><br><div class="gmail_quote">On Fri, Oct 9, 2009 at 2:00 PM, Daniel Gackle <span dir="ltr"><<a href="mailto:danielgackle@gmail.com">danielgackle@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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.<br><br>(ps (let ((a 99))<br> (let ((a 22))<br> (create a 33))))<br>
<br>=><br><br>"var a = 99;<br>var a666 = 22;<br>{ a666 : 33 };"<br>
</blockquote></div><br>