From 36c6fcccb2d7d0748f545dbc556a3ffeadd9f215 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Fri, 12 Nov 2004 20:19:07 +0000 Subject: [PATCH] . original commit: c27b72e56da4f3d0f9284a785ddefc934cf240ed --- collects/framework/private/main.ss | 4 ++-- collects/framework/private/preferences.ss | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/collects/framework/private/main.ss b/collects/framework/private/main.ss index a2cf8090..7b5ea61b 100644 --- a/collects/framework/private/main.ss +++ b/collects/framework/private/main.ss @@ -211,8 +211,8 @@ 'framework:tabify (lambda (t) (hash-table-map t list)) (lambda (l) (let ([h (make-hash-table)]) - (for-each (lambda (x) (apply hash-table-put! h x)) l) - h)))) + (for-each (lambda (x) (apply hash-table-put! h x)) l) + h)))) (preferences:set-default 'framework:autosave-delay 300 number?) diff --git a/collects/framework/private/preferences.ss b/collects/framework/private/preferences.ss index ea6c8dc2..9f66118c 100644 --- a/collects/framework/private/preferences.ss +++ b/collects/framework/private/preferences.ss @@ -71,8 +71,10 @@ (hash-table-get preferences p (lambda () - (let ([def (hash-table-get defaults p)]) - (default-value def))))) + (let* ([def (hash-table-get defaults p)] + [def-val (default-value def)]) + (hash-table-put! preferences p def-val) + def-val)))) ;; set : symbol any -> void ;; updates the preference @@ -209,7 +211,7 @@ ;; input determines if there is a dialog box showing the errors (and other msgs) ;; and result indicates if there was an error (define (raw-save silent?) - (with-handlers ([(lambda (x) #f) ;exn:fail? + (with-handlers ([exn:fail? (lambda (exn) (unless silent? (message-box @@ -284,9 +286,6 @@ sexp))) ;; get-disk-prefs : (-> A) -> (union A sexp) - ;; effect: updates the flag for the modified seconds - ;; (note: if this is not followed by actually installing - ;; the preferences, things break) (define (get-disk-prefs fail) (let/ec k (let* ([filename (find-system-path 'pref-file)]