X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fprint.lisp;h=ac90cfe255ae3e4f23735ef06656634374901767;hb=148e3820ad314a9b59d0133c1d60eaac4af9118b;hp=ae7c7eca317649bbd35679402a5f56c00768dcdf;hpb=ec6d4bd97d9adc6f4003747d8ca92fad7766ccfd;p=sbcl.git diff --git a/src/code/print.lisp b/src/code/print.lisp index ae7c7ec..ac90cfe 100644 --- a/src/code/print.lisp +++ b/src/code/print.lisp @@ -97,6 +97,7 @@ `(%with-standard-io-syntax (lambda () ,@body))) (defun %with-standard-io-syntax (function) + (declare (type function function)) (let ((*package* (find-package "COMMON-LISP-USER")) (*print-array* t) (*print-base* 10) @@ -240,6 +241,7 @@ ;;; guts of PRINT-UNREADABLE-OBJECT (defun %print-unreadable-object (object stream type identity body) + (declare (type (or null function) body)) (when *print-readably* (error 'print-not-readable :object object)) (flet ((print-description () @@ -376,11 +378,6 @@ ;;;; 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) @@ -393,10 +390,7 @@ (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)