diff options
Diffstat (limited to 'pp.scm')
-rw-r--r-- | pp.scm | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -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) |