adjust a bunch of error printfs in raco setup so they include the

stacktrace (by calling error-display-handler). Not sure if this is
always safe, so including it in a separate commit for easy reversion.
This commit is contained in:
Robby Findler 2012-06-22 21:38:09 -05:00
parent 40ec33c12b
commit 6588493810
3 changed files with 14 additions and 5 deletions

View File

@ -263,7 +263,10 @@
[x (send/error (format "DIDNT MATCH C ~v\n" x))]
[else (send/error (format "DIDNT MATCH C\n"))]))
(with-handlers ([exn:fail? (lambda (x)
(send/resp (list 'ERROR (exn-message x))))])
(define sp (open-output-string))
(parameterize ([current-error-port sp])
((error-display-handler) (exn-message x) x))
(send/resp (list 'ERROR (get-output-string sp))))])
(parameterize ([parallel-lock-client lock-client]
[compile-context-preservation-enabled (member 'disable-inlining options )]
[manager-trace-handler

View File

@ -210,7 +210,10 @@
(define log-exn (lambda (exn [msg #f])
(log-error (let ([s (if (exn? exn)
(exn-message exn)
(let ([p (open-output-string)])
(parameterize ([current-error-port p])
((error-display-handler) (exn-message exn) exn))
(get-output-string p))
(format "exception: ~v" exn))])
(if msg
(format "~a; ~a" msg s)
@ -426,7 +429,10 @@
(define (send/reportp message)
(send/resp (list 'REPORT message)))
((with-handlers* ([exn:fail? (lambda (x)
(send/errorp (exn-message x))
(define sp (open-output-string))
(parameterize ([current-error-port sp])
((error-display-handler) (exn-message x) x))
(send/errorp (get-output-string sp))
(lambda () (loop (add1 i))))])
(parameterize ([current-output-port out-str-port]
[current-error-port err-str-port])

View File

@ -170,7 +170,7 @@
(define (with-record-error cc go fail-k)
(with-handlers ([exn:fail?
(lambda (exn)
(eprintf "~a\n" (exn-message exn))
((error-display-handler) (exn-message exn) exn)
(raise exn))])
(go)))
(s-exp->fasl (serialize
@ -360,7 +360,7 @@
(define (with-record-error cc go fail-k)
(with-handlers ([exn:fail?
(lambda (x)
(eprintf "~a\n" (exn-message x))
((error-display-handler) (exn-message x) x)
(raise x))])
(go)))
(verbose verbosev)