0.7.8.44:
[sbcl.git] / src / code / print.lisp
index a7d4ed2..04d85f4 100644 (file)
 \f
 ;;;; OUTPUT-OBJECT -- the main entry point
 
-;;; the current pretty printer. This should be either a function that
-;;; takes two arguments (the object and the stream) or NIL to indicate
-;;; that there is no pretty printer installed.
-(defvar *pretty-printer* nil)
-
 ;;; Objects whose print representation identifies them EQLly don't
 ;;; need to be checked for circularity.
 (defun uniquely-identified-by-print-p (x)
 (defun output-object (object stream)
   (labels ((print-it (stream)
             (if *print-pretty*
-                (if *pretty-printer*
-                    (funcall *pretty-printer* object stream)
-                    (let ((*print-pretty* nil))
-                      (output-ugly-object object stream)))
+                (sb!pretty:output-pretty-object object stream)
                 (output-ugly-object object stream)))
           (check-it (stream)
              (multiple-value-bind (marker initiate)
                      *print-object-is-disabled-p*))
            (print-object object stream))
           ((typep object 'structure-object)
-           (default-structure-print object stream *current-level*))
+           (default-structure-print object stream *current-level-in-print*))
           (t
            (write-string "#<INSTANCE but not STRUCTURE-OBJECT>" stream))))
     (function
 ;;; use until CLOS is set up (at which time it will be replaced with
 ;;; the real generic function implementation)
 (defun print-object (instance stream)
-  (default-structure-print instance stream *current-level*))
+  (default-structure-print instance stream *current-level-in-print*))
 \f
 ;;;; integer, ratio, and complex printing (i.e. everything but floats)
 
         (*print-level* 3)  ; ..print an interpreted function definition
         ;; FIXME: This find-the-function-name idiom ought to be
         ;; encapsulated in a function somewhere.
-        (name (case (function-subtype object)
+        (name (case (fun-subtype object)
                 (#.sb!vm:closure-header-widetag "CLOSURE")
                 (#.sb!vm:simple-fun-header-widetag (%simple-fun-name object))
                 (t 'no-name-available)))