fixed bug with autosaving and locking
original commit: f481a5689bfdb9bb19a66b88892c8f0752550248
This commit is contained in:
parent
8169a632bc
commit
449cafbff3
|
@ -223,8 +223,18 @@
|
||||||
(begin
|
(begin
|
||||||
(restore-file-format)
|
(restore-file-format)
|
||||||
#f))))]
|
#f))))]
|
||||||
|
[check-lock
|
||||||
|
(lambda ()
|
||||||
|
(let ([filename (get-filename)])
|
||||||
|
(lock (and (not (null? filename))
|
||||||
|
(not (member
|
||||||
|
'write
|
||||||
|
(file-or-directory-permissions
|
||||||
|
filename)))))))]
|
||||||
[after-save-file
|
[after-save-file
|
||||||
(lambda (success)
|
(lambda (success)
|
||||||
|
(when success
|
||||||
|
(check-lock))
|
||||||
(super-after-save-file success)
|
(super-after-save-file success)
|
||||||
(restore-file-format))]
|
(restore-file-format))]
|
||||||
|
|
||||||
|
@ -237,7 +247,7 @@
|
||||||
[after-load-file
|
[after-load-file
|
||||||
(lambda (sucessful?)
|
(lambda (sucessful?)
|
||||||
(when sucessful?
|
(when sucessful?
|
||||||
(lock (not (member 'write (file-or-directory-permissions (get-filename))))))
|
(check-lock))
|
||||||
(super-after-load-file sucessful?))]
|
(super-after-load-file sucessful?))]
|
||||||
|
|
||||||
[set-mode
|
[set-mode
|
||||||
|
@ -588,7 +598,7 @@
|
||||||
|
|
||||||
(define make-backup-autosave-buffer%
|
(define make-backup-autosave-buffer%
|
||||||
(lambda (super-edit%)
|
(lambda (super-edit%)
|
||||||
(class-asi super-edit%
|
(class super-edit% args
|
||||||
(inherit modified? get-filename save-file)
|
(inherit modified? get-filename save-file)
|
||||||
(rename [super-on-save-file on-save-file]
|
(rename [super-on-save-file on-save-file]
|
||||||
[super-on-change on-change]
|
[super-on-change on-change]
|
||||||
|
@ -636,7 +646,7 @@
|
||||||
[success (save-file auto-name wx:const-media-ff-copy)])
|
[success (save-file auto-name wx:const-media-ff-copy)])
|
||||||
(if success
|
(if success
|
||||||
(begin
|
(begin
|
||||||
(if auto-saved-name
|
(when auto-saved-name
|
||||||
(delete-file auto-saved-name))
|
(delete-file auto-saved-name))
|
||||||
(set! auto-saved-name auto-name)
|
(set! auto-saved-name auto-name)
|
||||||
(set! auto-save-out-of-date? #f))
|
(set! auto-save-out-of-date? #f))
|
||||||
|
@ -652,7 +662,10 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(when auto-saved-name
|
(when auto-saved-name
|
||||||
(delete-file auto-saved-name)
|
(delete-file auto-saved-name)
|
||||||
(set! auto-saved-name #f)))]))))
|
(set! auto-saved-name #f)))])
|
||||||
|
(sequence
|
||||||
|
(apply super-init args)
|
||||||
|
(mred:autosave:register-autosave this)))))
|
||||||
|
|
||||||
(define backup-autosave-edit% (make-backup-autosave-buffer% edit%))
|
(define backup-autosave-edit% (make-backup-autosave-buffer% edit%))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user