On Thu, 2005-01-13 at 01:16 +0100, Sverker Wiberg wrote: > On Wed, 2005-01-12 at 22:51 +0000, Christophe Rhodes wrote: > > Sverker Wiberg <[EMAIL PROTECTED]> writes: > > > > > However, the above defclass doesn't work in CMUCL; as I get the error > > > > > > Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER: > > > :DYNAMIC is not of type (MEMBER :CLASS :INSTANCE) > > > [Condition of type TYPE-ERROR] > > > > > > which agrees with both the HyperSpec and CLtL2 in that the :allocation > > > slot option is either :class or :instance.
[...] > > Seriously, I think that how you did it is essentially how you're meant > > to do it; that CLtS-conforming code requires :class or :instance > > allocation doesn't mean that implementations purporting to conform to > > (some of) the MOP can't allow you to use other allocation types. [...] > So, here goes: This is a bug in the MOP implementation of CMUCL > 19a! And here is a first patch to correct the bug, with test cases snarfed from Steel Bank CL (thanks!). It fails at the dynamic-slot-subclass case in tests/mop-2.impure-cload.lisp (when I do the defclass I get "Internal error: In get-accessor-method-function."), so I disabled that case. This should be fixed as well; but I won't do it today. /Sverker -- Binary/unsupported file stripped by Listar -- -- Type: text/x-patch -- File: diff
