ensure-generic-function-using-class: don't use NAME for reinitialization.
authorStas Boukarev <stassats@gmail.com>
Fri, 7 Mar 2014 22:29:46 +0000 (02:29 +0400)
committerStas Boukarev <stassats@gmail.com>
Fri, 7 Mar 2014 22:29:46 +0000 (02:29 +0400)
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.

src/clos/generic.lsp

index ddcb2b3..f4301ff 100644 (file)
       (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