made drscheme use the current preferences for the module language settings when automatically choosing the module language (if the module language is the users preference, that is)

svn: r6162
This commit is contained in:
Robby Findler 2007-05-06 21:01:45 +00:00
parent 704faa0a4f
commit ddc701ba65
2 changed files with 12 additions and 4 deletions

View File

@ -6,7 +6,7 @@
(define reader-tag "#reader") (define reader-tag "#reader")
(define (pick-new-language text all-languages module-language) (define (pick-new-language text all-languages module-language module-language-settings)
(with-handlers ([exn:fail:read? (λ (x) (values #f #f))]) (with-handlers ([exn:fail:read? (λ (x) (values #f #f))])
(let ([found-language? #f] (let ([found-language? #f]
[settings #f]) [settings #f])
@ -38,7 +38,7 @@
(pair? r1) (pair? r1)
(eq? (car r1) 'module)) (eq? (car r1) 'module))
(set! found-language? module-language) (set! found-language? module-language)
(set! settings (send module-language default-settings)))))) (set! settings module-language-settings)))))
(values found-language? (values found-language?
settings))))) settings)))))

View File

@ -475,12 +475,20 @@ module browser threading seems wrong.
(λ (lang) (λ (lang)
(and (is-a? lang drscheme:module-language:module-language<%>) (and (is-a? lang drscheme:module-language:module-language<%>)
lang)) lang))
(drscheme:language-configuration:get-languages)))]) (drscheme:language-configuration:get-languages)))]
[module-language-settings
(let ([prefs-setting (preferences:get drscheme:language-configuration:settings-preferences-symbol)])
(cond
[(eq? (drscheme:language-configuration:language-settings-language prefs-setting)
module-language)
(drscheme:language-configuration:language-settings-settings prefs-setting)]
[else (send module-language default-settings)]))])
(let-values ([(matching-language settings) (let-values ([(matching-language settings)
(pick-new-language (pick-new-language
this this
(drscheme:language-configuration:get-languages) (drscheme:language-configuration:get-languages)
module-language)]) module-language
module-language-settings)])
(when matching-language (when matching-language
(set-next-settings (set-next-settings
(drscheme:language-configuration:make-language-settings (drscheme:language-configuration:make-language-settings