[lift-devel] Compilation of macros.lisp fails in Allegro CL 9.0

Gary King gwking at metabang.com
Sun Sep 2 13:59:18 UTC 2012


Hi Dave,

I updated the project on github.

Thanks for letting me know about this.


On Aug 31, 2012, at 4:30 PM, Gary King <gwking at metabang.com> wrote:

> Hi David,
> 
>> For what it's worth, it looks like the compile error is coming from the
>> 
>>  (defmacro defcondition (...) ...)
>> 
> 
> It's actually the use of the newlinify macro in defcondition. The newlinify code is incorrect in that it causes a copy of the current environment to be externalized on use. It's my understanding that the environment is very implementation dependent and so there is no expectation that you should be able to do this. Also, there is no need since doing so is quite inefficient. A better version of newlinify would be
> 
> 
> (defmacro newlinify (format &environment e)
>  (declare (ignorable e))
>  #+allegro
>  (if (and (constantp format e)
> 	   (stringp (sys:constant-value format e)))
>      (excl::newlinify-format-string (sys:constant-value format e))
>      `(excl::newlinify-format-string ,format))
>  #-allegro
>  format)
> 
> I'm intending to make a patch for this this weekend but if you have time to test it in your setup, that would be great.
> 
> thanks,
> 
> --
> Gary Warren King, metabang.com 
> Cell: (413) 559 8738
> Fax: (206) 338-4052
> gwkkwg on Skype * garethsan on AIM * gwking on twitter
> 
> 
> _______________________________________________
> lift-devel mailing list
> lift-devel at common-lisp.net
> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/lift-devel

--
Gary Warren King, metabang.com 
Cell: (413) 559 8738
Fax: (206) 338-4052
gwkkwg on Skype * garethsan on AIM * gwking on twitter





More information about the lift-devel mailing list