From 8b1e836048c7f02a726123c751c78385a5204e52 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sun, 8 Sep 2002 23:30:42 +0000 Subject: [PATCH] .. original commit: 407559664b9da28595afb2d76561954b978095f1 --- collects/framework/private/autosave.ss | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/collects/framework/private/autosave.ss b/collects/framework/private/autosave.ss index 3aea5f61..1a6ac781 100644 --- a/collects/framework/private/autosave.ss +++ b/collects/framework/private/autosave.ss @@ -43,18 +43,22 @@ (define autosave-timer% (class timer% (inherit start) + (field [last-name-mapping #f]) (define/override (notify) (when (preferences:get 'framework:autosaving-on?) (let-values ([(new-objects new-name-mapping) (rebuild-object-list)]) - (when (file-exists? autosave-toc-save-filename) - (delete-file autosave-toc-save-filename)) - (when (file-exists? autosave-toc-filename) - (copy-file autosave-toc-filename autosave-toc-save-filename)) - (call-with-output-file autosave-toc-filename - (lambda (port) - (write new-name-mapping port)) - 'truncate - 'text))) + (set! objects new-objects) + (unless (equal? last-name-mapping new-name-mapping) + (set! last-name-mapping new-name-mapping) + (when (file-exists? autosave-toc-save-filename) + (delete-file autosave-toc-save-filename)) + (when (file-exists? autosave-toc-filename) + (copy-file autosave-toc-filename autosave-toc-save-filename)) + (call-with-output-file autosave-toc-filename + (lambda (port) + (write new-name-mapping port)) + 'truncate + 'text)))) (let ([seconds (preferences:get 'framework:autosave-delay)]) (start (* 1000 seconds) #t))) (super-instantiate ())