I have a fix for the forward-reference layout bug. It turns out that
find-layout will make an undefined-classoid. There is no need to make
another one in find-and-init-or-check-layout. I've attached a simple
On Sun, 19 Dec 2004 09:03:51 -0500, Cheuksan Edward Wang
> While trying out sbcl I ran into an undefined-classoid bug: For
> forward referenced layouts, sbcl makes an
> "undefined-classoid". However, if I load compiled files with several
> forward references to the same layout, it will make multiple
> undefined-classoid's for the same layout. This is bad because
> these undefined-classoid's are not eq and eventually it failes "(aver
> (eq (layout-classoid layout) classoid))"
> in check-layout. I trace the problem to find-classoid which always
> returns nil even if an undefined-classoid already
> exists. "find-classoid-cell" returns the right cell but it has nil in
> the classoid slot.
> I think it's best to make a single undefined-classoid for multiple
> forward references to the same layout. Does anyone have any
> suggestions to fix this?
> Cheuksan Wang