Even more puzzling:<div><br></div><div>There seems to be a difference in behaviour between the slime C-c C-c, C-c C-r behaviour (compile a form, evaluate a region) and running a PROGN with the forms from the slime repl.</div>
<div><br></div><div>Sure hope others can help out here. All I can do now is create the correct D-M-C implementation but writing tests and verifying them for their behaviour is not possible this way.</div><div><br></div><div>
BTW: the PROGN and the C-c C-c approach probably differ in that one is interpreted and the other compiled. So, it looks like an interaction between compilation and D-M-C.</div><div><br></div><div>Bye,</div><div><br></div>
<div>Erik.</div><div><br><div class="gmail_quote">On Sat, Aug 4, 2012 at 11:31 AM, Erik Huelsmann <span dir="ltr"><<a href="mailto:ehuels@gmail.com" target="_blank">ehuels@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<div><br></div><div>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.</div>

<div><br></div><div>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</div>

<div><br></div><div>So, I inserted a trace:</div><div><br></div><div>(eval-when (:compile-toplevel)</div><div>   (trace mop::STD-COMPUTE-EFFECTIVE-METHOD))</div><div><br></div><div>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 >):</div>

<div><br></div><div>(dmc-test-mc.1 :k 1)</div><div><br></div><div>The result is this backtrace:</div><div><br></div><div><div>     [java]   0: (MOP::STD-COMPUTE-EFFECTIVE-METHOD #<STANDARD-GENERIC-FUNCTION DMC-TEST-MC.1 {10D3D99}></div>

<div>                          #<METHOD-COMBINATION {69B861}> (#<STANDARD-METHOD {C821EF}>))</div></div><div><br></div><div>which clearly shows the method combination is of type METHOD-COMBINATION and not of type LONG-METHOD-COMBINATION.</div>

<div><br></div><div>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...</div>

<div><br></div><div>Any help on debugging or additional insights would be extremely appreciated!</div><div><br></div><div><br></div><div>Bye,</div><div><br></div><div>Erik.</div>
</blockquote></div><br></div>