comparison lisp/files.el @ 1103:ecaf2b70cd45

*** empty log message ***
author Richard M. Stallman <rms@gnu.org>
date Sat, 12 Sep 1992 08:44:18 +0000
parents 676310a31777
children c9feb3e64805
comparison
equal deleted inserted replaced
1102:ff73961932eb 1103:ecaf2b70cd45
785 (> (file-nlinks real-file-name) 1)) 785 (> (file-nlinks real-file-name) 1))
786 (and backup-by-copying-when-mismatch 786 (and backup-by-copying-when-mismatch
787 (let ((attr (file-attributes real-file-name))) 787 (let ((attr (file-attributes real-file-name)))
788 (or (nth 9 attr) 788 (or (nth 9 attr)
789 (/= (nth 2 attr) (user-uid)))))) 789 (/= (nth 2 attr) (user-uid))))))
790 (copy-file real-file-name backupname t t) 790 (condition-case ()
791 ; rename-file should delete old backup. 791 (copy-file real-file-name backupname t t)
792 ; (condition-case () 792 (file-error
793 ; (delete-file backupname) 793 ;; If copying fails because file BACKUPNAME
794 ; (file-error nil)) 794 ;; is not writable, delete that file and try again.
795 (if (and (file-exists-p backupname)
796 (not (file-writable-p backupname)))
797 (delete-file backupname))
798 (copy-file real-file-name backupname t t)))
799 ;; rename-file should delete old backup.
795 (rename-file real-file-name backupname t) 800 (rename-file real-file-name backupname t)
796 (setq setmodes (file-modes backupname))) 801 (setq setmodes (file-modes backupname)))
797 (file-error 802 (file-error
798 ;; If trouble writing the backup, write it in ~. 803 ;; If trouble writing the backup, write it in ~.
799 (setq backupname (expand-file-name "~/%backup%~")) 804 (setq backupname (expand-file-name "~/%backup%~"))
800 (message "Cannot write backup file; backing up in ~/%%backup%%~") 805 (message "Cannot write backup file; backing up in ~/%%backup%%~")
801 (sleep-for 1) 806 (sleep-for 1)
802 (copy-file real-file-name backupname t t))) 807 (condition-case ()
808 (copy-file real-file-name backupname t t)
809 (file-error
810 ;; If copying fails because file BACKUPNAME
811 ;; is not writable, delete that file and try again.
812 (if (and (file-exists-p backupname)
813 (not (file-writable-p backupname)))
814 (delete-file backupname))
815 (copy-file real-file-name backupname t t)))))
803 (setq buffer-backed-up t) 816 (setq buffer-backed-up t)
804 ;; Now delete the old versions, if desired. 817 ;; Now delete the old versions, if desired.
805 (if delete-old-versions 818 (if delete-old-versions
806 (while targets 819 (while targets
807 (condition-case () 820 (condition-case ()