[tinaa-devel] Bug with MAKE-ITERATOR
Leslie P. Polzer
sky at viridian-project.de
Sun Nov 23 00:24:12 UTC 2008
Hi Gary,
> I was just looking at this and I'm confused.
Thanks for taking time to look at it, I appreciate it.
> I'm stumbling through getting weblocks installed (far too difficult.
> sigh)
Try clbuild, you just have to do "install weblocks" with it.
> but I don't get the error you are reporting using Allegro CL. (I
> still can't get weblocks to install using SBCL because I get all of
> these such and such is not a valid logical pathname errors).
Maybe you're using a stale version of Weblocks.
We use and test it every day with SBCL.
> In any case , the error you saw seems to be caused by a call to make-
> iterator with `nil` as its parameter. This leaves make-iterator
> feeling sad. But I don't understand how it happened since the make-
> iterator is guarded by a `awhen` that should mean that it is only
> executed if `it` isn't `nil`. Your patch certainly prevents the error
> but it shouldn't be needed. After all, the expansion is something like:
>
>>
>> (let ((it (default-initargs (instance part))))
>> (when it
>> (html ((:div :class "table-summary") (:h3 "Default initargs")
>> ((:table :id "default-initargs")
>> (let ((iterator (make-iterator it)) (count 1))
>>
>> ...
>>
>> ))
>
> Can you see how the awhen expands in your environment; perhaps that's
> where the problem is actually occurring. I'd certainly like to get to
> the bottom of this.
I think AWHEN is fine.
The problem is not MAKE-ITERATOR being called with NIL, but
MAKE-ITERATOR *returning* NIL.
The patch works around exactly that. I suspect some problem
with DYNAMIC-CLASS but I don't know enough of it (and
cl-containers and probably more of your stuff) to get at it
in reasonable time...
Leslie
--
LinkedIn Profile: http://www.linkedin.com/in/polzer
Xing Profile: https://www.xing.com/profile/LeslieP_Polzer
Blog: http://blog.viridian-project.de/
More information about the tinaa-devel
mailing list