diff --git a/collects/drracket/private/module-language.rkt b/collects/drracket/private/module-language.rkt index 108be61b3f..5a425abb8a 100644 --- a/collects/drracket/private/module-language.rkt +++ b/collects/drracket/private/module-language.rkt @@ -1072,9 +1072,17 @@ (update-little-dot)) (define dep-paths (set)) - (define/public (set-dep-paths d) (set! dep-paths d)) - (define/public (set-dirty-if-dep path) - (when (set-member? dep-paths path) + (define error-dep-paths (set)) + (define/public (set-dep-paths d error?) + (cond + [error? + (set! error-dep-paths d)] + [else + (set! dep-paths d) + (set! error-dep-paths (set))])) + (define/public (set-dirty-if-dep path) + (when (or (set-member? dep-paths path) + (set-member? error-dep-paths path)) (oc-set-dirty this))) (super-new))) @@ -1944,7 +1952,7 @@ val)))) (send running-tab set-oc-status (clean #f #f '())) - (send running-tab set-dep-paths (list->set (vector-ref res 2)))] + (send running-tab set-dep-paths (list->set (vector-ref res 2)) #f)] [else (line-of-interest) (send running-tab set-oc-status @@ -1953,7 +1961,7 @@ sc-abnormal-termination (vector-ref res 1)) (vector-ref res 2))) - (send running-tab set-dep-paths (list->set (vector-ref res 3)))]) + (send running-tab set-dep-paths (list->set (vector-ref res 3)) #t)]) (oc-maybe-start-something))) (define/oc-log (oc-status-message sym str)