added first cut preferences

original commit: e0602b131696404ed25ec79b12f8df83bde7ebac
This commit is contained in:
Robby Findler 1996-06-19 21:58:58 +00:00
parent a2747d5866
commit 62001f554c

View File

@ -1,3 +1,5 @@
;; need a preference for pconvert
(define mred:preferences@
(unit/s mred:preferences^
(import [mred:debug mred:debug^]
@ -16,20 +18,39 @@
(hash-table-get preferences p
(lambda ()
(raise (mred:exn:make-exn:unknown-preference
(format "unknown preference: ~a" p)))))))
(format "unknown preference: ~a" p)
((debug-info-handler))))))))
(define set-preference
(lambda (p value) (hash-table-put! preferences p value)))
(define defaults '((highlight-parens #t)))
(define defaults '((highlight-parens #t)
(autosaving-on? #t)
(autosave-delay 60)
(autoload-paths ("/usr/local/lib/plt/mred/autoload/"))))
(define restore-defaults
(lambda ()
(for-each (lambda (x) (apply set-preference x))
defaults)))
(define save-user-preferences (lambda () (mred:debug:printf "saving prefs~n")))
(define read-user-preferences (lambda () (mred:debug:printf "reading prefs~n")))
(define save-user-preferences
(lambda ()
(call-with-output-file preferences-filename
(lambda (p) (write (hash-table-map preferences list) p))
'replace)))
(define read-user-preferences
(lambda ()
(when (file-exists? preferences-filename)
(for-each (lambda (x) (apply set-preference x))
(call-with-input-file preferences-filename read)))))
(define preferences-dialog
(lambda ()
(restore-defaults)
(save-user-preferences)
(wx:message-box "Saved default preferences.")))
(restore-defaults)
(read-user-preferences)))