[armedbear-ticket] [armedbear] #276: defmethod doesn't call add-method
armedbear
armedbear-devel at common-lisp.net
Mon Dec 3 07:35:17 UTC 2012
#276: defmethod doesn't call add-method
-----------------------+----------------------------------------------------
Reporter: rschlatte | Owner: rschlatte
Type: defect | Status: new
Priority: major | Milestone:
Component: (A)MOP | Version:
Keywords: |
-----------------------+----------------------------------------------------
Reported by Pascal Costanza:
There is a problem that a defmethod may not call add-method as it should.
Here is a transcript:
{{{
CL-USER(1): (use-package :mop)
T
CL-USER(2): (defclass my-generic-function (standard-generic-function) ()
(:metaclass funcallable-standard-class))
#<FUNCALLABLE-STANDARD-CLASS MY-GENERIC-FUNCTION {3606AFA2}>
CL-USER(3): (defgeneric f (x) (:generic-function-class my-generic-
function))
#<MY-GENERIC-FUNCTION F {589D4D84}>
CL-USER(4): (defmethod add-method :after ((gf my-generic-function) (m
standard-method)) (print :foo))
#<STANDARD-METHOD ADD-METHOD :AFTER (MY-GENERIC-FUNCTION STANDARD-METHOD)
{3F4C428F}>
CL-USER(5): (defmethod f ((x integer)) (+ x x))
#<STANDARD-METHOD F (INTEGER) {27A5DAC0}>
CL-USER(6): (add-method #'f *)
:FOO
#<MY-GENERIC-FUNCTION F {589D4D84}>
CL-USER(7): (f 5)
10
}}}
…or maybe just :after methods on add-method are not called…
--
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/276>
armedbear <http://common-lisp.net/project/armedbear>
armedbear
More information about the armedbear-ticket
mailing list