* Don't construct the pretty stream when it is not needed.
;;;; -*- coding: utf-8; -*-
+changes in sbcl-1.0.23 relative to 1.0.22:
+ * optimization: printing with *PRINT-PRETTY* true is now more
+ efficient as long as the object being printed doesn't require
+ special handling by the pretty printer.
+
changes in sbcl-1.0.22 relative to 1.0.21:
* minor incompatible change: LOAD-SHARED-OBJECT no longer by default looks
for the shared object in the current directory, but passes the native
;;; OUTPUT-PRETTY-OBJECT is called by OUTPUT-OBJECT when
;;; *PRINT-PRETTY* is true.
(defun output-pretty-object (object stream)
- (with-pretty-stream (stream)
- (funcall (pprint-dispatch object) stream object)))
+ (multiple-value-bind (fun pretty) (pprint-dispatch object)
+ (if pretty
+ (with-pretty-stream (stream)
+ (funcall fun stream object))
+ ;; No point in consing up a pretty stream if we are not using pretty
+ ;; printing the object after all.
+ (output-ugly-object object stream))))
(defun !pprint-cold-init ()
(/show0 "entering !PPRINT-COLD-INIT")
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.22.1"
+"1.0.22.2"