original commit: 407559664b9da28595afb2d76561954b978095f1
This commit is contained in:
Robby Findler 2002-09-08 23:30:42 +00:00
parent a11b0e6f1b
commit 8b1e836048

View File

@ -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 ())