diff --git a/collects/drscheme/private/module-language.ss b/collects/drscheme/private/module-language.ss index f6e751ceb0..9bb625834b 100644 --- a/collects/drscheme/private/module-language.ss +++ b/collects/drscheme/private/module-language.ss @@ -250,14 +250,15 @@ ;; adding `drscheme:init^' to the imports to get ;; `drscheme:init:system-eventspace', or make `queue-system-callback/sync' ;; into a public method (accessible here). - (when rep - (send rep set-show-no-user-evaluation-message? #f)) - (when prefix - (fprintf (current-error-port) "Module Language: ~a\n" prefix)) - ((error-display-handler) (exn-message exn) exn) - (when rep - (send rep insert-warning "\n[Interactions disabled]") - (custodian-shutdown-all (send rep get-user-custodian)))) + (if (not rep) + (raise exn) + (begin + (send rep set-show-no-user-evaluation-message? #f) + (when prefix + (fprintf (current-error-port) "Module Language: ~a\n" prefix)) + ((error-display-handler) (exn-message exn) exn) + (send rep insert-warning "\n[Interactions disabled]") + (custodian-shutdown-all (send rep get-user-custodian))))) (define (raise-hopeless-syntax-error . error-args) (with-handlers ([exn? raise-hopeless-exception]) (apply raise-syntax-error '|Module Language|