[tinaa-devel] Bug with MAKE-ITERATOR
Gary King
gwking at metabang.com
Sat Nov 22 21:02:42 UTC 2008
Hi Leslie,
I was just looking at this and I'm confused.
I'm stumbling through getting weblocks installed (far too difficult.
sigh) 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).
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 could also alter make-iterator so that it just returns nil if passed
nil -- which makes a sort of sense. But before I do that, I'd like to
understand what is going wrong here.
thanks,
--
Gary Warren King, metabang.com
Cell: (413) 559 8738
Fax: (206) 338-4052
gwkkwg on Skype * garethsan on AIM
More information about the tinaa-devel
mailing list