;;;; warranty about the software, its performance or its conformity to any
;;;; specification.
-(sb-int:file-comment
- "$Header$")
-
(in-package "SB-PCL")
\f
;;;; the PRINT-OBJECT generic function
-;;; Blow away the old non-generic function placeholder which was used 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.
+;;; Blow away the old non-generic function placeholder which was used
+;;; 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 (sb-int:*/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))))