original commit: 5dbca568862f77c3547a7f860e9d3564730b04b8
This commit is contained in:
Robby Findler 2003-11-24 19:35:56 +00:00
parent 329bbd76e7
commit 60bf825cde

View File

@ -81,15 +81,17 @@
(reset-changed)))))
;; reading in changes
(let* ([mod (file-or-directory-modify-seconds (find-system-path 'pref-file))])
(when (or (not last-time-read)
(last-time-read . < . mod))
(let* ([failed? #f]
[new-stuff (get-preference main-preferences-symbol (lambda () (set! failed? #t)))])
(unless failed?
(set! last-time-read mod)
(install-stashed-preferences new-stuff '())
(reset-changed))))))
(let* ([filename (find-system-path 'pref-file)])
(when (file-exists? filename)
(let ([mod (file-or-directory-modify-seconds filename)])
(when (or (not last-time-read)
(last-time-read . < . mod))
(let* ([failed? #f]
[new-stuff (get-preference main-preferences-symbol (lambda () (set! failed? #t)))])
(unless failed?
(set! last-time-read mod)
(install-stashed-preferences new-stuff '())
(reset-changed))))))))
(define guard
(lambda (when p value thunk failure)
@ -378,8 +380,9 @@
;; the preferences, things break)
(define (get-disk-prefs fail)
(let/ec k
(let ([mod (file-or-directory-modify-seconds (find-system-path 'pref-file))]
[sexp (get-preference main-preferences-symbol (lambda () (k (fail))))])
(let* ([filename (find-system-path 'pref-file)]
[mod (and (file-exists? filename) (file-or-directory-modify-seconds filename))]
[sexp (get-preference main-preferences-symbol (lambda () (k (fail))))])
(set! last-time-read mod)
sexp)))