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

View File

@ -119,9 +119,13 @@
(boolean? (car x)) (boolean? (car x))
(memq (cdr x) '(left top top-no-label right))))) (memq (cdr x) '(left top top-no-label right)))))
(drr:set-default 'drracket:htdp:last-set-teachpacks ;; call this 'multi-lib' because older versions of Racket didn't
'() ;; allow (lib "a/b/x.rkt") in the teaching languages, but instead
(listof (cons/c 'lib (listof string?)))) ;; 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:defs/ints-horizontal #f boolean?)
(drr:set-default 'drracket:child-only-memory-limit (* 1024 1024 128) (drr:set-default 'drracket:child-only-memory-limit (* 1024 1024 128)

View File

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