From 87b82b5822ca54228cfa6df29be3ad9d4bc47d16 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:28 -0800 Subject: Import Upstream version 2d2 --- pp.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'pp.scm') diff --git a/pp.scm b/pp.scm index 1dbada0..feb90a8 100644 --- a/pp.scm +++ b/pp.scm @@ -1,12 +1,15 @@ -;"pp.scm" Pretty-print - +;"pp.scm" Pretty-Print (require 'generic-write) -; (pretty-print obj port) pretty prints 'obj' on 'port'. The current -; output port is used if 'port' is not specified. - (define (pp:pretty-print obj . opt) (let ((port (if (pair? opt) (car opt) (current-output-port)))) - (generic-write obj #f 79 (lambda (s) (display s port) #t)))) + (generic-write obj #f (output-port-width port) + (lambda (s) (display s port) #t)))) + +(define (pretty-print->string obj . width) + (define result '()) + (generic-write obj #f (if (null? width) (output-port-width) (car width)) + (lambda (str) (set! result (cons str result)) #t)) + (reverse-string-append result)) (define pretty-print pp:pretty-print) -- cgit v1.2.3