Given the recent bug fixes, I tried to upgrade PS again. I'm now encountering an error on trying to expand a simple loop form. The error appears in commit 5a69278.<br><br>(ps-macroexpand '(loop for x from 1 below 10 do (bah)))<br>

<br>=> <br>(NIL . #<Anonymous Function #x300042319FEF>) is not of type (OR<br>                                                             SYMBOL<br>                                                             FUNCTION), and can't be FUNCALLed or APPLYed<br>

[Condition of type TYPE-ERROR]<br><br>Daniel<br><br><div class="gmail_quote">On Sat, May 9, 2009 at 5:29 PM, Vladimir Sedach <span dir="ltr"><<a href="mailto:vsedach@gmail.com">vsedach@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;">Just pushed out a patch that fixes this. The solution turned out to be<br>
a lot more involved than I originally suspected - basically the PS<br>
compiler had to be refactored to give control of macroexpansion over<br>
to special forms (the way it was previously handling macroexpansion<br>
was quite naive, but would have been suitable for a single-namespace<br>
Lisp).<br>
<br>
The changes that have been going on in the recent while are starting<br>
to make Parenscript almost look like a "real Lisp compiler."<br>
<br>
Vladimir<br>
<div><div></div><div class="h5"><br>
On Wed, May 6, 2009 at 2:00 PM, Daniel Gackle <<a href="mailto:danielgackle@gmail.com">danielgackle@gmail.com</a>> wrote:<br>
> Here's one thing that the latest PS breaks in our code.<br>
><br>
> (ps (list 1 2 3))<br>
> =><br>
> "[1,2,3];"<br>
><br>
> (ps (let ((list nil))<br>
>           (setf list (list 1 2 3))))<br>
> =><br>
> "var list5180 = null;<br>
> list5180 = list5180(1, 2, 3);"<br>
><br>
> I think this behavior is incorrect. It is quite surprising for a lexical<br>
> variable to shadow a macro definition.<br>
><br>
> Daniel<br>
><br>
</div></div>> _______________________________________________<br>
> parenscript-devel mailing list<br>
> <a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
> <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
><br>
><br>
<br>
_______________________________________________<br>
parenscript-devel mailing list<br>
<a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
<a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
</blockquote></div><br>