0.7.6.24:
[sbcl.git] / src / pcl / env.lisp
index dec5e0b..8018e81 100644 (file)
 
 (defun trace-method-internal (ofunction name options)
   (eval `(untrace ,name))
-  (setf (symbol-function name) ofunction)
+  (setf (fdefinition name) ofunction)
   (eval `(trace ,name ,@options))
-  (symbol-function name))
+  (fdefinition name))
 |#
 \f
 ;;;; MAKE-LOAD-FORM
 
 (defmethod make-instance ((class cl:class) &rest stuff)
   (apply #'make-instance (coerce-to-pcl-class class) stuff))
-(defmethod change-class (instance (class cl:class))
-  (apply #'change-class instance (coerce-to-pcl-class class)))
+(defmethod change-class (instance (class cl:class) &rest initargs)
+  (apply #'change-class instance (coerce-to-pcl-class class) initargs))
 
 (macrolet ((frob (&rest names)
             `(progn
-               ,@(mapcar #'(lambda (name)
-                             `(defmethod ,name ((class cl:class))
-                                (funcall #',name
-                                         (coerce-to-pcl-class class))))
+               ,@(mapcar (lambda (name)
+                           `(defmethod ,name ((class cl:class))
+                              (funcall #',name
+                                       (coerce-to-pcl-class class))))
                          names))))
   (frob
     class-direct-slots