fixed a bug in the new stuff
svn: r5606
This commit is contained in:
parent
bf84c30c55
commit
4379aa3f05
|
@ -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?))
|
||||
|
|
Loading…
Reference in New Issue
Block a user