From a67344ddf2c74fb0b1a03c8258b58fef17c247cb Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 30 May 2008 16:19:47 +0000 Subject: [PATCH] Reset after reporting errors. svn: r10047 --- collects/typed-scheme/private/tc-utils.ss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/collects/typed-scheme/private/tc-utils.ss b/collects/typed-scheme/private/tc-utils.ss index 7ac1390e78..992bc5cdbf 100644 --- a/collects/typed-scheme/private/tc-utils.ss +++ b/collects/typed-scheme/private/tc-utils.ss @@ -50,15 +50,18 @@ (define-struct err (msg stx) #:prefab) (define (report-all-errors) + (define (reset!) (set! delayed-errors null)) (match (reverse delayed-errors) [(list) (void)] [(list (struct err (msg stx))) + (reset!) (raise-typecheck-error msg stx)] [l (let ([stxs (for/list ([e (reverse delayed-errors)]) (sync (thread (lambda () (raise-typecheck-error (err-msg e) (err-stx e))))) (err-stx e))]) + (reset!) (unless (null? stxs) (raise-typecheck-error "Errors encountered" (apply append stxs))))]))