Mercurial > emacs
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 () |