[parenscript-devel] compile-script toplevel compilation broken when loading compiled lisp files.

Red Daly reddaly at stanford.edu
Mon Aug 6 21:26:32 UTC 2007


Good news,

I believe I found the cause of the bug.  `defscriptmacro' was not 
expanding into a definition but was instead side-effecting script macro 
definitions.  This caused script macro definition to occur at lisp macro 
expansion time, which is not the desired behavior.

I was able to reproduce this by deleting all fasls, starting Lisp, 
loading (compiling) the asdf parenscript system, killing lisp, starting 
lisp again, and then loading the asdf parenscript system.  With the new 
lisp image, inspecting parenscript::*script-macro-env* showed no macro 
definitions.

You might want to take a look at the patch to make sure the macro 
expansion now has the correct behavior.  Should it be wrapped in an 
eval-when?

Thanks,
Red

Vladimir Sedach wrote:
> Hi Red,
>
> I'll be gone tomorrow morning, but right now I still haven't narrowed
> down where the bug is occuring. It's some sort of interaction between
> Lisp compile time, load time, ParenScript runtime as well as the code
> walking/generation things that are used on my project. I guess that's
> not being very helpful, other than the fact that I know for certain
> that it's something starting at compile-script.
>
> Vladimir
>
> On 8/3/07, Red Daly <reddaly at stanford.edu> wrote:
>   
>> Vladimir Sedach wrote:
>>     
>>> Hello Red,
>>>
>>> There is a weird bug with the compiler changes you made where
>>> compiling a file containing a call to compile-script works
>>> fine, but loading a fasl of that file fails (in particular, when
>>> loading the fasl things like (return something) are called by
>>> compile-to-expression, when they obviously compile to js-return,
>>> etc.). I don't understand what's broken or why, and in particular why
>>> the top-level stuff is involved in compile-script (as opposed to
>>> compile-script file).
>>>
>>>       
>> I'm not sure I understand the bug well enough to reproduce it.
>>
>> Can you post a file or some more information that demonstrates the
>> problem?  Hopefully you are not gone for the weekend yet.
>>     
>>> Please see what you can do about fixing this issue.
>>>       
>> Of course.
>>
>> Red
>> _______________________________________________
>> parenscript-devel mailing list
>> parenscript-devel at common-lisp.net
>> http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>>
>>     
> _______________________________________________
> parenscript-devel mailing list
> parenscript-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>   




More information about the parenscript-devel mailing list