2009/9/10 Mark Evenson evenson@panix.com:
It looks like asdf.lisp is a pathological case as it includes at line 508: (defmethod shared-initialize :after ((operation operation) slot-names
There's nothing pathological in defmethoding shared-initialize, IMHO..
which if I disable this form before evaluation in SBCL, returns the same error as ABCL. So, this has more to do with the way we are invoking and interpreting the various generic functions in MAKE-INSTANCE, then problems with CHECK-INITARGS. Looking through SBCL is somewhat instructive, but confusing as well.
Well, we try to compute the effective methods in MAKE-INSTANCE, and also try to see if the lambda list matches any of those. CHECK-INITARGS is a mere helper function.