fixed a bug in the new stuff

svn: r5606
This commit is contained in:
Robby Findler 2007-02-15 01:31:06 +00:00
parent bf84c30c55
commit 4379aa3f05

View File

@ -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?))