;;; 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
(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