rename the preference drracket uses to remember the

teachpacks that were last selected by the user

This change is related to PR 14089 because that PR
made me realize that a similar problem happens with
this pref file. There is a simple fix, tho: just keep
the preferences for 5.3.6 and earlier using a different
key than the preferences for versions released after 5.3.6
This commit is contained in:
Robby Findler 2013-10-13 08:26:14 -05:00
parent 88d61e096c
commit 324e053ee3
3 changed files with 16 additions and 12 deletions

View File

@ -56,7 +56,7 @@
(procedure-rename void '?))
;; adapted from collects/drracket/private/main.rkt
(preferences:set-default 'drscheme:deinprogramm:last-set-teachpacks
(preferences:set-default 'drracket:deinprogramm:last-set-teachpacks/multi-lib
'()
(lambda (x)
(and (list? x)
@ -113,7 +113,7 @@
'none
writing-style
#f
(preferences:get 'drscheme:deinprogramm:last-set-teachpacks)))
(preferences:get 'drracket:deinprogramm:last-set-teachpacks/multi-lib)))
(define/override (default-settings? s)
(and (not (drscheme:language:simple-settings-case-sensitive s))
@ -788,7 +788,7 @@
removed
(append removed (list tp-to-add)))))
(preferences:set 'drscheme:deinprogramm:last-set-teachpacks new-tps)
(preferences:set 'drracket:deinprogramm:last-set-teachpacks/multi-lib new-tps)
(make-deinprogramm-lang-settings
(drscheme:language:simple-settings-case-sensitive settings)
(drscheme:language:simple-settings-printing-style settings)
@ -802,7 +802,7 @@
(lambda (settings name)
(let ([new-tps (filter (lambda (x) (not (equal? (tp-require->str x) name)))
(deinprogramm-lang-settings-teachpacks settings))])
(preferences:set 'drscheme:deinprogramm:last-set-teachpacks new-tps)
(preferences:set 'drracket:deinprogramm:last-set-teachpacks/multi-lib new-tps)
(make-deinprogramm-lang-settings
(drscheme:language:simple-settings-case-sensitive settings)
(drscheme:language:simple-settings-printing-style settings)
@ -814,7 +814,7 @@
(deinprogramm-lang-settings-tracing? settings)
new-tps)))
(lambda (settings)
(preferences:set 'drscheme:deinprogramm:last-set-teachpacks '())
(preferences:set 'drracket:deinprogramm:last-set-teachpacks/multi-lib '())
(make-deinprogramm-lang-settings
(drscheme:language:simple-settings-case-sensitive settings)
(drscheme:language:simple-settings-printing-style settings)

View File

@ -119,9 +119,13 @@
(boolean? (car x))
(memq (cdr x) '(left top top-no-label right)))))
(drr:set-default 'drracket:htdp:last-set-teachpacks
'()
(listof (cons/c 'lib (listof string?))))
;; call this 'multi-lib' because older versions of Racket didn't
;; allow (lib "a/b/x.rkt") in the teaching languages, but instead
;; insisted on (lib "x.rkt" "a" "b"). (We use the more compact
;; form now because that's what lower-level primitives return to us)
(preferences:set-default 'drracket:htdp:last-set-teachpacks/multi-lib
'()
(listof (cons/c 'lib (listof string?))))
(drr:set-default 'drracket:defs/ints-horizontal #f boolean?)
(drr:set-default 'drracket:child-only-memory-limit (* 1024 1024 128)

View File

@ -85,7 +85,7 @@
#t
'none
#f
(preferences:get 'drracket:htdp:last-set-teachpacks)))
(preferences:get 'drracket:htdp:last-set-teachpacks/multi-lib)))
(define/override (default-settings? s)
(and (super default-settings? s)
@ -581,7 +581,7 @@
(format (string-constant already-added-teachpack)
(tp-require->str tp-to-add))
#:dialog-mixin frame:focus-table-mixin))
(preferences:set 'drracket:htdp:last-set-teachpacks new-tps)
(preferences:set 'drracket:htdp:last-set-teachpacks/multi-lib new-tps)
(make-htdp-lang-settings
(drscheme:language:simple-settings-case-sensitive settings)
(drscheme:language:simple-settings-printing-style settings)
@ -594,7 +594,7 @@
(λ (settings name)
(let ([new-tps (filter (λ (x) (not (equal? (tp-require->str x) name)))
(htdp-lang-settings-teachpacks settings))])
(preferences:set 'drracket:htdp:last-set-teachpacks new-tps)
(preferences:set 'drracket:htdp:last-set-teachpacks/multi-lib new-tps)
(make-htdp-lang-settings
(drscheme:language:simple-settings-case-sensitive settings)
(drscheme:language:simple-settings-printing-style settings)
@ -605,7 +605,7 @@
(htdp-lang-settings-tracing? settings)
new-tps)))
(λ (settings)
(preferences:set 'drracket:htdp:last-set-teachpacks '())
(preferences:set 'drracket:htdp:last-set-teachpacks/multi-lib '())
(make-htdp-lang-settings
(drscheme:language:simple-settings-case-sensitive settings)
(drscheme:language:simple-settings-printing-style settings)