On Sun, Dec 2, 2012 at 9:11 PM, Pascal Costanza <pc@p-cos.net> wrote:
OK, I can report a success: All my test cases run through now (almost, see below ;).

Thanks once more for all your work on these issues. I really appreciate the effort that it implies.
1) extract-specializer-names is not correct for eql specializers. Consider: (extract-specializer-names '((s (eql 's)))) => ((EQL S)). However, the result should be ((EQL 'S)), the quote should not be removed!

Fixed in git/CVS. Will upload it tonight.
2) When an accessor method is initialized, it should be passed a :slot-definition argument to the slot it is supposed to access. This doesn't seem to happen.

Fixed also.
3) When ADD-METHOD has to remove a method because of agreeing on specializers and qualifiers with the new method, it is specified to do so by invoking REMOVE-METHOD rather than by doing it by itself. However, this doesn't seem to be the case.

The early versions of ADD- and REMOVE-METHOD lived in the same file. They were calling each other, but not the generic function version. Fixed.
4) DEFMETHOD doesn't call MAKE-METHOD-LAMBDA to determine the method function body. [My guess is that this is not easy to change due to the deviation from the MOP specification in how method functions are called.]

Same as in 3)
5) (setf generic-function-name) is specified to invoke reinitialize-instance to do its job, rather than doing it by itself. However, this doesn't seem to be the case.

Thanks, I had overlooked that generic-function-name names just a reader, not an accessor.
6) Many of the metaobject classes expose slots with names that are exported from some package or visible in CL-USER. This shouldn't be the case. (See "Restrictions on Implementations" in the MOP specification.)

I will fix this along the coming days. It requires a bit more work to compute the list of offending slots and ensuring I do not screw everything in other parts of ECL. But this should not be a stopper for the release of Closer-mop, is it?

[I will skip support for the 12.7.1 because that is too much work and will be only of temporary value.]

I did not expect you to do that. 12.12 should be released any time soon, once these issues are solved and I verify the Windows ports.

Thanks again.


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)