From: Glenn Morris Date: Fri, 24 Aug 2007 03:07:45 +0000 (+0000) Subject: (backup-buffer-copy): Revert 2007-08-22 change. X-Git-Tag: emacs-pretest-23.0.90~11344 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=46b0d02912eaa28fa244a17abbed2d6ee2d8ce33;p=emacs.git (backup-buffer-copy): Revert 2007-08-22 change. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f1b082c618f..cac2d1c269f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2007-08-24 Ulrich Mueller (tiny change) + + * files.el (backup-buffer-copy): Don't wrap delete in + condition-case, only try to delete if file exists. + 2007-08-24 Glenn Morris * files.el (backup-buffer-copy): Revert 2007-08-22 change. diff --git a/lisp/files.el b/lisp/files.el index 1cc46684d4b..614cad467ef 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -3175,9 +3175,6 @@ BACKUPNAME is the backup file name, which is the old file renamed." (let ((umask (default-file-modes)) (dir (or (file-name-directory to-name) default-directory))) - ;; Can't delete or create files in a read-only directory. - (unless (file-writable-p dir) - (signal 'file-error (list "Directory is not writable" dir))) (unwind-protect (progn ;; Create temp files with strict access rights. It's easy to @@ -3186,11 +3183,6 @@ BACKUPNAME is the backup file name, which is the old file renamed." (set-default-file-modes ?\700) (while (condition-case () (progn - ;; If we allow for the possibility of something - ;; creating the file between delete and copy - ;; (below), we must also allow for the - ;; possibility of something deleting it between - ;; a file-exists-p check and a delete. (condition-case nil (delete-file to-name) (file-error nil)) @@ -3199,8 +3191,6 @@ BACKUPNAME is the backup file name, which is the old file renamed." (file-already-exists t)) ;; The file was somehow created by someone else between ;; `delete-file' and `copy-file', so let's try again. - ;; Does that every actually happen in practice? - ;; This is a potential infloop, which seems bad... ;; rms says "I think there is also a possible race ;; condition for making backup files" (emacs-devel 20070821). nil))