(define (walk-custom object list-depth)
(call-with-output-string
(lambda (port)
- (parameterize* (list (cons param:printer-list-depth-limit list-depth))
- (lambda ()
- (write object port))))))
+ (print-for-pp object port list-depth))))
\f
(define (walk-pair pair list-depth)
(if (let ((limit (get-param:printer-list-depth-limit)))
(get-param:printer-list-breadth-limit)
(get-param:printer-list-depth-limit)))))
+(define (print-for-pp object port list-depth)
+ (print-object object
+ (make-context port
+ 'normal
+ list-depth
+ #f
+ (make-labeling-procedure object 'circularity)
+ (get-param:printer-list-breadth-limit)
+ (get-param:printer-list-depth-limit))))
+
(define (make-labeling-procedure object label-mode)
(let ((shared-objects
(case label-mode
(export (runtime pretty-printer)
get-param:printer-list-breadth-limit
get-param:printer-list-depth-limit
- prefix-pair?)
+ prefix-pair?
+ print-for-pp)
(export (runtime swank)
user-object-type))