diff --git a/collects/drscheme/private/module-language-tools.ss b/collects/drscheme/private/module-language-tools.ss index 01113a928f..025c63061c 100644 --- a/collects/drscheme/private/module-language-tools.ss +++ b/collects/drscheme/private/module-language-tools.ss @@ -101,6 +101,15 @@ ;; FIXME: do something so that we don't ;; have to disable all planet packages. (read-language port (lambda () #f))))]) + ;; sometimes I get eof here, but I don't know why and can't seem to + ;; make it happen outside of DrScheme + (when (eof-object? info-result) + (fprintf (current-error-port) "file ~s produces eof from read-language\n" + (send this get-filename)) + (fprintf (current-error-port) " port-next-location ~s\n" (call-with-values (λ () (port-next-location port)) list)) + (fprintf (current-error-port) " str ~s\n" (let ([s (send this get-text)]) + (substring s 0 (min 100 (string-length s))))) + (set! info-result #f)) (let-values ([(line col pos) (port-next-location port)]) (unless (equal? (get-text 0 pos) hash-lang-language) (set! hash-lang-language (get-text 0 pos))