From 4379aa3f059cf43434ae99665834500d9d09f423 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 15 Feb 2007 01:31:06 +0000 Subject: [PATCH] fixed a bug in the new stuff svn: r5606 --- collects/drscheme/private/unit.ss | 67 +++++++++++++++---------------- 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/collects/drscheme/private/unit.ss b/collects/drscheme/private/unit.ss index 7710614a3a..19d1221b91 100644 --- a/collects/drscheme/private/unit.ss +++ b/collects/drscheme/private/unit.ss @@ -460,20 +460,19 @@ module browser threading seems wrong. (begin-edit-sequence)) (define/augment (after-load-file success?) (when success? - (let ([found-language? #f]) - (let* ([tp (open-input-text-editor this)] - [l (read-line tp)]) - (unless (eof-object? l) - (unless (regexp-match #rx"[;#]" l) ;; no comments on the first line - (when (equal? #\) (get-character (- (last-position) 1))) - (let ([sp (open-input-string l)]) - (when (regexp-match #rx"[(]" sp) - (let/ec k + (with-handlers ((exn:fail:read? void)) + (let ([found-language? #f]) + (let* ([tp (open-input-text-editor this)] + [l (read-line tp)]) + (unless (eof-object? l) + (unless (regexp-match #rx"[;#]" l) ;; no comments on the first line + (when (equal? #\) (get-character (- (last-position) 1))) + (let ([sp (open-input-string l)]) + (when (regexp-match #rx"[(]" sp) (let-values ([(mod name module-spec) - (with-handlers ([exn:fail:read? (λ (x) (k (void)))]) - (values (parameterize ([read-accept-reader #f]) (read sp)) - (parameterize ([read-accept-reader #f]) (read sp)) - (parameterize ([read-accept-reader #f]) (read sp))))]) + (values (parameterize ([read-accept-reader #f]) (read sp)) + (parameterize ([read-accept-reader #f]) (read sp)) + (parameterize ([read-accept-reader #f]) (read sp)))]) (when (eq? mod 'module) (let ([matching-language (ormap @@ -493,27 +492,27 @@ module browser threading seems wrong. (drscheme:language-configuration:make-language-settings matching-language (send matching-language default-settings)))) - (set-modified #f)))))))))))) - (unless found-language? - (let* ([tp (open-input-text-editor this)] - [r1 (parameterize ([read-accept-reader #f]) (read tp))] - [r2 (parameterize ([read-accept-reader #f]) (read tp))]) - (when (and (eof-object? r2) - (pair? r1) - (eq? (car r1) 'module)) - (let ([ml (ormap (λ (lang) - (and (is-a? lang drscheme:module-language:module-language<%>) - lang)) - (drscheme:language-configuration:get-languages))]) - (when ml - (unless (eq? (drscheme:language-configuration:language-settings-language - next-settings) - ml) - (set-next-settings - (drscheme:language-configuration:make-language-settings - ml - (send ml default-settings)))) - (set-modified #f)))))))) + (set-modified #f))))))))))) + (unless found-language? + (let* ([tp (open-input-text-editor this)] + [r1 (parameterize ([read-accept-reader #f]) (read tp))] + [r2 (parameterize ([read-accept-reader #f]) (read tp))]) + (when (and (eof-object? r2) + (pair? r1) + (eq? (car r1) 'module)) + (let ([ml (ormap (λ (lang) + (and (is-a? lang drscheme:module-language:module-language<%>) + lang)) + (drscheme:language-configuration:get-languages))]) + (when ml + (unless (eq? (drscheme:language-configuration:language-settings-language + next-settings) + ml) + (set-next-settings + (drscheme:language-configuration:make-language-settings + ml + (send ml default-settings)))) + (set-modified #f))))))))) (end-edit-sequence) (inner (void) after-load-file success?))