added a little more safety to protect against broken tools
svn: r6243
This commit is contained in:
parent
09ce9df295
commit
f59d1f205e
|
@ -3474,24 +3474,27 @@ module browser threading seems wrong.
|
|||
[marshalled-settings (cdr name/settings)]
|
||||
[lang (ormap
|
||||
(λ (l) (and (equal? (send l get-language-name) name) l))
|
||||
(drscheme:language-configuration:get-languages))]
|
||||
[settings (send lang unmarshall-settings marshalled-settings)])
|
||||
(drscheme:language-configuration:get-languages))])
|
||||
(when lang
|
||||
(set! added-one? #t)
|
||||
(new menu-item%
|
||||
[parent menu]
|
||||
[label (string-append " "
|
||||
(send lang get-language-name)
|
||||
(if (send lang default-settings? settings)
|
||||
""
|
||||
(string-append " " (string-constant custom))))]
|
||||
[callback
|
||||
(λ (x y)
|
||||
(send (send frame get-definitions-text)
|
||||
set-next-settings
|
||||
(drscheme:language-configuration:make-language-settings
|
||||
lang
|
||||
settings)))]))))
|
||||
;; this test can fail when a language has been added wrongly via the tools interface
|
||||
;; just ignore that menu item, in that case.
|
||||
(let ([settings (send lang unmarshall-settings marshalled-settings)])
|
||||
(when lang
|
||||
(set! added-one? #t)
|
||||
(new menu-item%
|
||||
[parent menu]
|
||||
[label (string-append " "
|
||||
(send lang get-language-name)
|
||||
(if (send lang default-settings? settings)
|
||||
""
|
||||
(string-append " " (string-constant custom))))]
|
||||
[callback
|
||||
(λ (x y)
|
||||
(send (send frame get-definitions-text)
|
||||
set-next-settings
|
||||
(drscheme:language-configuration:make-language-settings
|
||||
lang
|
||||
settings)))]))))))
|
||||
(preferences:get 'drscheme:recent-language-names))
|
||||
(unless added-one?
|
||||
(send (new menu-item%
|
||||
|
|
Loading…
Reference in New Issue
Block a user