def?))
\f
(define (print-object-1 object context)
- (let ((print-method (get-print-method object)))
- (cond ((standard-print-method? print-method)
- (*print-with-brackets
- (standard-print-method-name print-method object)
- object
- context
- (lambda (context*)
- (for-each (lambda (part)
- (*print-char #\space context*)
- (print-object part context*))
- (standard-print-method-parts print-method object)))))
- (print-method
- (call-print-method print-method object context))
- (else
- ((vector-ref dispatch-table
- ((ucode-primitive primitive-object-type 1) object))
- object
- context)))))
+ (cond ((string-slice? object)
+ (print-string object context))
+ ((get-print-method object)
+ => (lambda (print-method)
+ (if (standard-print-method? print-method)
+ (*print-with-brackets
+ (standard-print-method-name print-method object)
+ object
+ context
+ (lambda (context*)
+ (for-each (lambda (part)
+ (*print-char #\space context*)
+ (print-object part context*))
+ (standard-print-method-parts print-method
+ object))))
+ (call-print-method print-method object context))))
+ (else
+ ((vector-ref dispatch-table
+ ((ucode-primitive primitive-object-type 1) object))
+ object
+ context))))
(define (call-print-method print-method object context)
(parameterize ((initial-context context))
(*print-string "#u8()" context*))))))
(define (print-record record context)
- (cond ((string? record) (print-string record context))
- ((uri? record) (print-uri record context))
+ (cond ((uri? record) (print-uri record context))
((get-param:print-with-maximum-readability?)
(*print-readable-hash record context))
(else