0.pre7.14:
[sbcl.git] / src / pcl / low.lisp
index 98174f3..e825431 100644 (file)
 ;;; In all cases, SET-FUNCTION-NAME must return the new (or same)
 ;;; function. (Unlike other functions to set stuff, it does not return
 ;;; the new value.)
+;;;
+;;; FIXME: A similar operation is done in
+;;; TRY-TO-RENAME-INTERPRETED-FUNCTION-AS-MACRO. The code should be
+;;; shared.
 (defun set-function-name (fcn new-name)
   #+sb-doc
   "Set the name of a compiled function object. Return the function."
                 (typep fcn 'generic-function)
                 (eq (class-of fcn) *the-class-standard-generic-function*))
             (setf (sb-kernel:%funcallable-instance-info fcn 1) new-name)
-            (typecase fcn
+            (etypecase fcn
               (sb-kernel:byte-closure
                (set-function-name (sb-kernel:byte-closure-function fcn)
                                   new-name))
               (sb-kernel:byte-function
                (setf (sb-kernel:byte-function-name fcn) new-name))
+              #+sb-interpreter
               (sb-eval:interpreted-function
                (setf (sb-eval:interpreted-function-name fcn) new-name))))
         fcn)