(define (make-standard-viewer) (let ((x 1) (y 1) (text "") (value #f)) (lambda (message) (cond ((eq? message 'init) (lambda (self new-value buffer) (set! value new-value) (set! text (layout-result-standard (exp->string value) (result-buffer-num-cols buffer))) self)) ((eq? message 'paint) (lambda (self win buffer have-focus?) ;; #### get rid of this cruft ((make-simple-result-buffer-printer y x text '() '()) win buffer have-focus?))) ((eq? message 'key-press) (lambda (self . ignore) self))))))