X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Flow.lisp;h=2025da8a3355d9c1542d157e83fbefb15e5a93dc;hb=db26c127bc13e8a4e3f56bef25fc18d2ba16aa1d;hp=aa65f9ef8b27e37cc3d5fac2255b0f445ceb994d;hpb=832f3b5652ae1b4a8888829cd4a1b391a8ca9952;p=sbcl.git diff --git a/src/pcl/low.lisp b/src/pcl/low.lisp index aa65f9e..2025da8 100644 --- a/src/pcl/low.lisp +++ b/src/pcl/low.lisp @@ -67,7 +67,6 @@ ;; to find out, I just overrode the LAYOUT ;; default here. -- WHN 19991204 (invalid nil)) - (:conc-name %wrapper-) (:constructor make-wrapper-internal) (:copier nil)) (instance-slots-layout nil :type list) @@ -178,16 +177,18 @@ (declare (special *boot-state* *the-class-standard-generic-function*)) (when (valid-function-name-p fun) (setq fun (fdefinition fun))) - (when (funcallable-instance-p fun) - ;; HACK - (case (classoid-name (classoid-of fun)) - (%method-function (setf (%method-function-name fun) new-name)) - (t ;; KLUDGE: probably a generic function... - (if (if (eq *boot-state* 'complete) - (typep fun 'generic-function) - (eq (class-of fun) *the-class-standard-generic-function*)) - (setf (%funcallable-instance-info fun 2) new-name) - (bug "unanticipated function type"))))) + (typecase fun + (%method-function (setf (%method-function-name fun) new-name)) + #+sb-eval + (sb-eval:interpreted-function + (setf (sb-eval:interpreted-function-name fun) new-name)) + (funcallable-instance ;; KLUDGE: probably a generic function... + (cond ((if (eq *boot-state* 'complete) + (typep fun 'generic-function) + (eq (class-of fun) *the-class-standard-generic-function*)) + (setf (%funcallable-instance-info fun 2) new-name)) + (t + (bug "unanticipated function type"))))) ;; Fixup name-to-function mappings in cases where the function ;; hasn't been defined by DEFUN. (FIXME: is this right? This logic ;; comes from CMUCL). -- CSR, 2004-12-31 @@ -364,8 +365,8 @@ :slot-names (fast-function name) :boa-constructor %make-method-function :superclass-name function - :metaclass-name random-pcl-classoid - :metaclass-constructor make-random-pcl-classoid + :metaclass-name static-classoid + :metaclass-constructor make-static-classoid :dd-type funcallable-structure) ;;; WITH-PCL-LOCK is used around some forms that were previously