diff --git a/collects/typed-scheme/optimizer/tool/tool.rkt b/collects/typed-scheme/optimizer/tool/tool.rkt index 2647346faf..c7e87163a7 100644 --- a/collects/typed-scheme/optimizer/tool/tool.rkt +++ b/collects/typed-scheme/optimizer/tool/tool.rkt @@ -17,7 +17,14 @@ ;; performance-report-callback : drracket:unit:frame<%> -> void (define (performance-report-callback drr-frame) - (send (send drr-frame get-definitions-text) add-highlights)) + (with-handlers + ([exn? + ;; typechecking failed, report in the interactions window + (lambda (e) + (define interactions (send drr-frame get-interactions-text)) + (send interactions reset-console) + (send interactions run-in-evaluation-thread (lambda () (raise e))))]) + (send (send drr-frame get-definitions-text) add-highlights))) (define highlights-mixin (mixin ((class->interface text%)) ()