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

Dave Cooper david.cooper at genworks.com
Fri Aug 31 22:06:23 UTC 2012


Hi Gary,

Thank you for the info.

With your below redefinition of newlinify,

   (ql:quickload :lift)

now completes with no warnings or errors in Allegro CL 9.0 (non-SMP --
I will check SMP later but this was giving the same error as non-SMP
so I predict the fix will be the same as well).

I will now try running through our regression suite and will advise further.


Best Regards,


 Dave


On Fri, 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
>



-- 

My Best,

Dave Cooper, Genworks Support
david.cooper at genworks.com, dave.genworks.com(skype)
USA: 248-327-3253(o), 1-248-330-2979(mobile)
UK: 0191 645 1699




More information about the lift-devel mailing list