0.pre7.128:
[sbcl.git] / src / pcl / print-object.lisp
index f3a8960..6a91b50 100644 (file)
 ;;; by the printer doing bootstrapping, and immediately replace it
 ;;; with some new printing logic, so that the Lisp printer stays
 ;;; crippled only for the shortest necessary time.
+(/show0 "about to replace placeholder PRINT-OBJECT with DEFGENERIC")
 (let (;; (If we don't suppress /SHOW printing while the printer is
       ;; crippled here, it becomes really easy to crash the bootstrap
       ;; sequence by adding /SHOW statements e.g. to the compiler,
       ;; which kinda defeats the purpose of /SHOW being a harmless
       ;; tracing-style statement.)
-      #+sb-show (*/show* nil))
+      #+sb-show (*/show* nil)
+      ;; (another workaround for the problem of debugging while the
+      ;; printer is disabled here)
+      (sb-impl::*print-object-is-disabled-p* t))
   (fmakunbound 'print-object)
   (defgeneric print-object (object stream))
   (defmethod print-object ((x t) stream)
     (print-unreadable-object (x stream :type t :identity t))))
+(/show0 "done replacing placeholder PRINT-OBJECT with DEFGENERIC")
 \f
 ;;;; a hook called by the printer to take care of dispatching to PRINT-OBJECT
 ;;;; for appropriate FUNCALLABLE-INSTANCE objects
        (list (length (generic-function-methods generic-function)))
        "?")))
 
-(defmethod print-object ((constructor constructor) stream)
-  (print-unreadable-object (constructor stream :type t :identity t)
-    (format stream
-           "~S (~S)"
-           (slot-value-or-default constructor 'name)
-           (slot-value-or-default constructor 'code-type))))
-
 (defmethod print-object ((cache cache) stream)
   (print-unreadable-object (cache stream :type t :identity t)
     (format stream
-           "~D ~S ~D"
+           "~W ~S ~W"
            (cache-nkeys cache)
            (cache-valuep cache)
            (cache-nlines cache))))