I also made a change for ccl so we don't inject the class if the dependencies
argument was not provided (vs passing it along as a nil argument). I'll look
at the alternate placement.
AMOP spec says that users shouldn't add methods to SHARED-INITIALIZE of
a metaclass. I think it can be moved to INITIALIZE-INSTANCE and
REINITIALIZE-INSTANCE, as they are allowed, and that would also prevent
problems with internal updates as these functions are not called on
update-instance-for-*. (I.e. you can get rid of the check of whether
direct-superclasses were passed or not in that case.)
So that could be a conservative fix (more like bringing it up to the
spec) which doesn't change the implementation much.
COMPUTE-PRECEDENCE-LIST sounds like a cleaner way to do it (if we don't
really care for DIRECT superclasses), but I haven't read AMOP on this
yet, so it is more like a guess.
These get ccl to pass all but one test.
Where are you with getting sbcl to build/pass? I'm testing with 1.0.56
IIRC both CCL and SBCL were passing all tests but
CACHING-STYLE-REQUIRED. (Again some MOP part which doesn't work.)
But then I've fixed the test suite itself and got more failures. :)
Can you please check inhibit-rollback (in testconditions) after applying
my patches? It crashes lisp, as I understand, through corrupting BDB
state. (Problem was previously hidden because of "ignore-conditions".)
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel