From 9857c254979e7c43a3f432c1927a168d6437398c Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Sat, 26 Nov 2011 07:11:26 +0100 Subject: Racket: capturing and displaying standard error during evaluation This bugs was exposed by using rackunit, where all the output of, say, check-eq? was lost for good (it was being sent to the stderr black hole). Hat tip Grant Retkke. --- scheme/racket/geiser/eval.rkt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'scheme/racket/geiser/eval.rkt') diff --git a/scheme/racket/geiser/eval.rkt b/scheme/racket/geiser/eval.rkt index a59e275..26ad959 100644 --- a/scheme/racket/geiser/eval.rkt +++ b/scheme/racket/geiser/eval.rkt @@ -47,8 +47,9 @@ (let ([output (with-output-to-string (lambda () - (with-handlers ([exn? set-last-error]) - (call-with-values thunk set-last-result))))]) + (parameterize ([current-error-port (current-output-port)]) + (with-handlers ([exn? set-last-error]) + (call-with-values thunk set-last-result)))))]) (append last-result `((output . ,output))))) (define (eval-in form spec lang) -- cgit v1.2.3