X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Ffsc.lisp;h=4d118a414bd486ef20369004b174fb83c41fc06e;hb=d7cbe5c40e93796d326937f3fb962fa4d7b1fa85;hp=cb3a8345982cec70e41235c77742a2bb8878ee9a;hpb=3a5eefac8a65dfd36729031f0a9b9dd8c022b7f2;p=sbcl.git diff --git a/src/pcl/fsc.lisp b/src/pcl/fsc.lisp index cb3a834..4d118a4 100644 --- a/src/pcl/fsc.lisp +++ b/src/pcl/fsc.lisp @@ -40,27 +40,22 @@ 'fsc-instance-slots) (defmethod raw-instance-allocator ((class funcallable-standard-class)) - 'allocate-funcallable-instance) - -(defmethod validate-superclass ((fsc funcallable-standard-class) - (new-super std-class)) - (let ((new-super-meta-class (class-of new-super))) - (or (eq new-super-meta-class *the-class-std-class*) - (eq (class-of fsc) new-super-meta-class)))) + 'allocate-standard-funcallable-instance) (defmethod allocate-instance ((class funcallable-standard-class) &rest initargs) (declare (ignore initargs)) - (unless (class-finalized-p class) (finalize-inheritance class)) - (allocate-funcallable-instance (class-wrapper class))) + (unless (class-finalized-p class) + (finalize-inheritance class)) + (allocate-standard-funcallable-instance (class-wrapper class))) (defmethod make-reader-method-function ((class funcallable-standard-class) slot-name) - (make-std-reader-method-function (class-name class) slot-name)) + (make-std-reader-method-function class slot-name)) (defmethod make-writer-method-function ((class funcallable-standard-class) slot-name) - (make-std-writer-method-function (class-name class) slot-name)) + (make-std-writer-method-function class slot-name)) ;;;; See the comment about reader-function--std and writer-function--sdt. ;;;;