Reset after reporting errors.
svn: r10047
This commit is contained in:
parent
8595bae336
commit
a67344ddf2
|
@ -50,15 +50,18 @@
|
||||||
(define-struct err (msg stx) #:prefab)
|
(define-struct err (msg stx) #:prefab)
|
||||||
|
|
||||||
(define (report-all-errors)
|
(define (report-all-errors)
|
||||||
|
(define (reset!) (set! delayed-errors null))
|
||||||
(match (reverse delayed-errors)
|
(match (reverse delayed-errors)
|
||||||
[(list) (void)]
|
[(list) (void)]
|
||||||
[(list (struct err (msg stx)))
|
[(list (struct err (msg stx)))
|
||||||
|
(reset!)
|
||||||
(raise-typecheck-error msg stx)]
|
(raise-typecheck-error msg stx)]
|
||||||
[l
|
[l
|
||||||
(let ([stxs
|
(let ([stxs
|
||||||
(for/list ([e (reverse delayed-errors)])
|
(for/list ([e (reverse delayed-errors)])
|
||||||
(sync (thread (lambda () (raise-typecheck-error (err-msg e) (err-stx e)))))
|
(sync (thread (lambda () (raise-typecheck-error (err-msg e) (err-stx e)))))
|
||||||
(err-stx e))])
|
(err-stx e))])
|
||||||
|
(reset!)
|
||||||
(unless (null? stxs)
|
(unless (null? stxs)
|
||||||
(raise-typecheck-error "Errors encountered" (apply append stxs))))]))
|
(raise-typecheck-error "Errors encountered" (apply append stxs))))]))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user