X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fenv.lisp;h=8018e812f90a751a30888cdaf15a4be3c6f4ccbe;hb=a260738d7a71680079d972b102b4e4db4e8dc3ae;hp=90c8f38a18c8d33751b56fca1fe1b4181f5557f8;hpb=99ad0a384664dc98af26245a33f11619ec0854ad;p=sbcl.git diff --git a/src/pcl/env.lisp b/src/pcl/env.lisp index 90c8f38..8018e81 100644 --- a/src/pcl/env.lisp +++ b/src/pcl/env.lisp @@ -28,7 +28,7 @@ ;;; FIXME: This stuff isn't part of the ANSI spec, and isn't even ;;; exported from PCL, but it looks as though it might be useful, ;;; so I don't want to just delete it. Perhaps it should go in -;;; a contrib/ directory eventually? +;;; a "contrib" directory eventually? #| ;;; TRACE-METHOD and UNTRACE-METHOD accept method specs as arguments. A @@ -103,9 +103,9 @@ (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)) |# ;;;; MAKE-LOAD-FORM @@ -142,15 +142,15 @@ (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