probable fix for race condition in check syntax (exposed by test suite)
This commit is contained in:
parent
3237be6b4e
commit
1d5031c3e6
|
@ -1249,13 +1249,14 @@ If the namespace does not, they are colored the unbound color.
|
||||||
(close-status-line 'drracket:check-syntax:status)
|
(close-status-line 'drracket:check-syntax:status)
|
||||||
|
|
||||||
;; do this with some lag ... not great, but should be okay.
|
;; do this with some lag ... not great, but should be okay.
|
||||||
|
(let ([err-port (send (send the-tab get-error-report-text) get-err-port)])
|
||||||
(thread
|
(thread
|
||||||
(λ ()
|
(λ ()
|
||||||
(flush-output (send (send the-tab get-error-report-text) get-err-port))
|
(flush-output err-port)
|
||||||
(queue-callback
|
(queue-callback
|
||||||
(λ ()
|
(λ ()
|
||||||
(unless (= 0 (send (send the-tab get-error-report-text) last-position))
|
(unless (= 0 (send (send the-tab get-error-report-text) last-position))
|
||||||
(show-error-report/tab)))))))]
|
(show-error-report/tab))))))))]
|
||||||
[kill-termination
|
[kill-termination
|
||||||
(λ ()
|
(λ ()
|
||||||
(unless normal-termination?
|
(unless normal-termination?
|
||||||
|
@ -1349,6 +1350,7 @@ If the namespace does not, they are colored the unbound color.
|
||||||
(cleanup)
|
(cleanup)
|
||||||
(custodian-shutdown-all user-custodian))))]
|
(custodian-shutdown-all user-custodian))))]
|
||||||
[else
|
[else
|
||||||
|
(open-status-line 'drracket:check-syntax:status)
|
||||||
(update-status-line 'drracket:check-syntax:status status-eval-compile-time)
|
(update-status-line 'drracket:check-syntax:status status-eval-compile-time)
|
||||||
(eval-compile-time-part-of-top-level sexp)
|
(eval-compile-time-part-of-top-level sexp)
|
||||||
(parameterize ([current-eventspace drs-eventspace])
|
(parameterize ([current-eventspace drs-eventspace])
|
||||||
|
@ -1363,6 +1365,7 @@ If the namespace does not, they are colored the unbound color.
|
||||||
(expanded-expression user-namespace user-directory sexp jump-to-id))
|
(expanded-expression user-namespace user-directory sexp jump-to-id))
|
||||||
(close-status-line 'drracket:check-syntax:status))))))
|
(close-status-line 'drracket:check-syntax:status))))))
|
||||||
(update-status-line 'drracket:check-syntax:status status-expanding-expression)
|
(update-status-line 'drracket:check-syntax:status status-expanding-expression)
|
||||||
|
(close-status-line 'drracket:check-syntax:status)
|
||||||
(loop)]))))))))))]))
|
(loop)]))))))))))]))
|
||||||
|
|
||||||
;; set-directory : text -> void
|
;; set-directory : text -> void
|
||||||
|
|
Loading…
Reference in New Issue
Block a user