0.pre7.50:
[sbcl.git] / src / code / print.lisp
index 8b4bc06..b0ae43d 100644 (file)
 (defun output-function (object stream)
   (let* ((*print-length* 3) ; in case we have to..
         (*print-level* 3)  ; ..print an interpreted function definition
-        (name (cond ((find (function-subtype object)
-                           #(#.sb!vm:closure-header-type
-                             #.sb!vm:byte-code-closure-type))
-                     "CLOSURE")
-                    #!+sb-interpreter
-                    ((sb!eval::interpreted-function-p object)
-                     (or (sb!eval::interpreted-function-%name object)
-                         (sb!eval:interpreted-function-lambda-expression
-                          object)))
-                    ((find (function-subtype object)
-                           #(#.sb!vm:function-header-type
-                             #.sb!vm:closure-function-header-type))
-                     (%function-name object))
-                    (t 'no-name-available)))
+        ;; FIXME: This find-the-function-name idiom ought to be
+        ;; pulled out in a function somewhere.
+        (name (case (function-subtype object)
+                (#.sb!vm:closure-header-type "CLOSURE")
+                (#.sb!vm:function-header-type (%function-name object))
+                (t 'no-name-available)))
         (identified-by-name-p (and (symbolp name)
                                    (fboundp name)
                                    (eq (fdefinition name) object))))
            (case type
              (#.sb!vm:value-cell-header-type
               (write-string "value cell " stream)
-              (output-object (sb!c:value-cell-ref object) stream))
+              (output-object (value-cell-ref object) stream))
              (t
               (write-string "unknown pointer object, type=" stream)
               (let ((*print-base* 16) (*print-radix* t))