Use error-display-handler instead of threads for multiple error reporting.

Closes PR 13240 (in reality, avoids the bug, but ryanc says that it's too
hard to fix).

original commit: 30e26f00cdcf9a08f076b03bceb0a9b9255151fa
This commit is contained in:
Sam Tobin-Hochstadt 2012-11-15 12:32:06 -08:00
parent f6106431fb
commit 728e347f29

View File

@ -93,9 +93,9 @@ don't depend on any other portion of the system
[l
(let ([stxs
(for/list ([e l])
(sync (thread
(lambda ()
(raise-typecheck-error (err-msg e) (err-stx e)))))
(with-handlers ([exn:fail:syntax?
(λ (e) ((error-display-handler) (exn-message e) e))])
(raise-typecheck-error (err-msg e) (err-stx e)))
(err-stx e))])
(reset!)
(unless (null? stxs)