ensure-generic-function-using-class: don't use NAME for reinitialization.

MOP says that when ensure-generic-function-using-class is called with
a generic function, it just calls reinitialize-instance with
the supplied initargs.

http://www.alu.org/mop/dictionary.html#ensure-generic-function-using-class

Fixes #283.
This commit is contained in:
Stas Boukarev 2014-03-08 02:29:46 +04:00
parent bc2189741b
commit a2a23bee12

View file

@ -218,8 +218,8 @@
(when (getf (method-plist m) :method-from-defgeneric-p)
(remove-method gfun m))))
(if (eq (class-of gfun) generic-function-class)
(apply #'reinitialize-instance gfun :name name args)
(apply #'change-class gfun generic-function-class :name name args)))
(apply #'reinitialize-instance gfun args)
(apply #'change-class gfun generic-function-class args)))
(defmethod ensure-generic-function-using-class
((gfun null) name &rest args &key