Hi, [Working on an update of Closer to MOP for ECL 12.7.1, which is more work than usual… ;)]
This is a bug in ECL 12.7.1. Here is a transcript to illustrate this: > (use-package :clos) T > (defun ext-generic-function-method-class (gf) (generic-function-method-class > gf)) EXT-GENERIC-FUNCTION-METHOD-CLASS > (compile 'ext-generic-function-method-class) ;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0 ;;; ;;; End of Pass 1. EXT-GENERIC-FUNCTION-METHOD-CLASS NIL NIL > (defclass my-generic-function (standard-generic-function) () (:metaclass > funcallable-standard-class)) #<The FUNCALLABLE-STANDARD-CLASS MY-GENERIC-FUNCTION> > (defmethod generic-function-method-class :after ((gf my-generic-function)) > (print :foo)) #<standard-method GENERIC-FUNCTION-METHOD-CLASS (#<The FUNCALLABLE-STANDARD-CLASS MY-GENERIC-FUNCTION>)> > (defgeneric test (object) (:generic-function-class my-generic-function)) #<my-generic-function TEST> > (ext-generic-function-method-class #'test) #<The STANDARD-CLASS STANDARD-METHOD> > (generic-function-method-class #'test) :FOO #<The STANDARD-CLASS STANDARD-METHOD> The fact that ext-generic-function-method-class is compiled seems to be important here, and it seems that the dispatch is fixed to the methods known at the time it is compiled. But I'm just guessing here… Pascal -- Pascal Costanza ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list