[armedbear-ticket] [armedbear] #279: default-initargs not respected for funcallable-standard-class
![](https://secure.gravatar.com/avatar/bfc2df4941985c6757bb9cc05a33e95f.jpg?s=120&d=mm&r=g)
#279: default-initargs not respected for funcallable-standard-class -----------------------+---------------------------------------------------- Reporter: rschlatte | Owner: rschlatte Type: defect | Status: new Priority: major | Milestone: Component: (A)MOP | Version: Keywords: | -----------------------+---------------------------------------------------- Report by Pascal Costanza: Here is a test case: {{{ CL-USER(1): (use-package :mop) T CL-USER(2): (defclass my-method (standard-method) ()) #<STANDARD-CLASS MY-METHOD {1EE9DE5F}> CL-USER(3): (defclass my-generic-function (standard-generic-function) () (:metaclass funcallable-standard-class) (:default-initargs :method-class (find-class 'my-method))) #<FUNCALLABLE-STANDARD-CLASS MY-GENERIC-FUNCTION {6E06D676}> CL-USER(4): (defgeneric my-function () (:generic-function-class my-generic-function)) #<MY-GENERIC-FUNCTION MY-FUNCTION {2EA1569}> CL-USER(5): (generic-function-method-class #'my-function) #<STANDARD-CLASS STANDARD-METHOD {4E513D61}> }}} The reason is that the defaulting happens in the keyword arguments for ensure-generic-function (in clos.lisp), which thus overrides any default initargs. However, the defaulting should be left to the class. -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/279> armedbear <http://common-lisp.net/project/armedbear> armedbear
![](https://secure.gravatar.com/avatar/bfc2df4941985c6757bb9cc05a33e95f.jpg?s=120&d=mm&r=g)
#279: default-initargs not respected for funcallable-standard-class ------------------------+--------------------------------------------------- Reporter: rschlatte | Owner: rschlatte Type: defect | Status: closed Priority: major | Milestone: Component: (A)MOP | Version: Resolution: fixed | Keywords: ------------------------+--------------------------------------------------- Changes (by rschlatte): * status: new => closed * resolution: => fixed Comment: (In [14344]) Avoid premature initialization of method-class, method- combination in gfs - fixes #279 - reported by Pascal Costanza -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/279#comment:1> armedbear <http://common-lisp.net/project/armedbear> armedbear
![](https://secure.gravatar.com/avatar/bfc2df4941985c6757bb9cc05a33e95f.jpg?s=120&d=mm&r=g)
#279: default-initargs not respected for funcallable-standard-class ------------------------+--------------------------------------------------- Reporter: rschlatte | Owner: rschlatte Type: defect | Status: closed Priority: major | Milestone: Component: (A)MOP | Version: Resolution: fixed | Keywords: ------------------------+--------------------------------------------------- Comment(by mevenson): (In [14345]) Backport r14344 | rschlatte | 2012-12-30 18:09:06 +0100 (Sun, 30 Dec 2012) | 5 lines Avoid premature initialization of method-class, method-combination in gfs - fixes #279 - reported by Pascal Costanza -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/279#comment:2> armedbear <http://common-lisp.net/project/armedbear> armedbear
participants (1)
-
armedbear