Hi all,

In an attempt to solve ticket 201 and everything related (now that I'm into it anyway), I've been staring at the failure of one of ABCL's own tests and can't seem to understand what's going on.

So, DMC-TEST-MC.1 is failing because it uses a non-standard METHOD-QUALIFIER. STD-COMPUTE-EFFECTIVE-METHOD throws an error when matching the qualifiers of the defined methods with the method groups and finds that the method combination isn't one of type long-form. However, the problem is: it really *is* of type long form. However, this seems to happen *only* in the compiled case....s

So, I inserted a trace:

(eval-when (:compile-toplevel)
   (trace mop::STD-COMPUTE-EFFECTIVE-METHOD))

and extracted the test form from outside the test case, in order to be able to see the error triggered (RT just prints #<simple-error >):

(dmc-test-mc.1 :k 1)

The result is this backtrace:

     [java]   0: (MOP::STD-COMPUTE-EFFECTIVE-METHOD #<STANDARD-GENERIC-FUNCTION DMC-TEST-MC.1 {10D3D99}>
                          #<METHOD-COMBINATION {69B861}> (#<STANDARD-METHOD {C821EF}>))

which clearly shows the method combination is of type METHOD-COMBINATION and not of type LONG-METHOD-COMBINATION.

I do understand that this is the error, but I can't for the life of me figure out how we get into the situation that the method combination being instantiated is of the resulting type METHOD-COMBINATION...

Any help on debugging or additional insights would be extremely appreciated!


Bye,

Erik.