original commit: c58c7d93b2c90414e5563c8b1bc5deab07059ac5
This commit is contained in:
Robby Findler 2005-02-27 16:59:19 +00:00
parent 8a4112887c
commit 86ea19893c
2 changed files with 21 additions and 2 deletions

View File

@ -163,7 +163,7 @@ for the last one, need a global "no more initialization can happen" flag.
(define (raise-unknown-preference-error sym fmt . args)
(raise (exn:make-unknown-preference
(string->immutable-string (string-append (format "~a: ") (apply format fmt args)))
(string->immutable-string (string-append (format "~a: " sym) (apply format fmt args)))
(current-continuation-marks))))
;; unmarshall : symbol marshalled -> any
@ -304,7 +304,8 @@ for the last one, need a global "no more initialization can happen" flag.
(exn-message exn))))
#f)])
(let ([syms (list main-preferences-symbol)]
[vals (list (hash-table-map preferences marshall-pref))]
[vals (list (append (hash-table-map preferences marshall-pref)
(hash-table-map marshalled list)))]
[res #t])
(put-preferences
syms vals

View File

@ -6,6 +6,7 @@
(define ((check-eq? x) y) (eq? x y))
(define pref-sym 'plt:not-a-real-preference)
(define marshalling-pref-sym 'plt:not-a-real-preference-marshalling)
(define default-test-sym 'plt:not-a-real-preference-default-test)
(define saved-prefs-file
(let loop ([n 0])
@ -73,6 +74,23 @@
(check-eq? 'new-pref)
`(begin (preferences:set-default ',pref-sym 'passed symbol?)
(preferences:get ',pref-sym)))
(test 'preference-no-set-default-stage1
(check-eq? 'stage1)
`(begin (preferences:set-default ',default-test-sym 'default symbol?)
(preferences:set ',default-test-sym 'new-value)
(preferences:save)
'stage1))
(shutdown-mred)
(test 'preference-no-set-default-stage2
(check-eq? 'stage2)
`(begin (preferences:save)
'stage2))
(shutdown-mred)
(test 'preference-no-set-default-stage3
(check-eq? 'new-value)
`(begin (preferences:set-default ',default-test-sym 'default symbol?)
(preferences:get ',default-test-sym)))
(test 'dialog-appears
(lambda (x) (eq? 'passed x))