On 9/10/09 1:43 PM, Ville Voutilainen wrote:
2009/9/10 Mark Evensonevenson@panix.com:
After a bit more analysis on my part, the problem isn't the method declaration, but rather the call to MAKE-INSTANCE (which makes more sense as [r12067][1] modifies CHECK-INITARGS:
I'll have to take another look at this. I remember that I specifically tested asdf with a :verbose t parameter.
It looks like asdf.lisp is a pathological case as it includes at line 508:
(defmethod shared-initialize :after ((operation operation) slot-names &key force &allow-other-keys) (declare (ignore slot-names force)) ;; empty method to disable initarg validity checking )
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.