diff lisp/files.el @ 91015:b83d0dadb2a7

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 857-865) - Update from CVS - Merge from emacs--rel--22 - Update from CVS: lisp/emacs-lisp/avl-tree.el: New file. - Remove RCS keywords * emacs--rel--22 (patch 97-100) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 246-247) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-252
author Miles Bader <miles@gnu.org>
date Wed, 29 Aug 2007 05:03:40 +0000
parents 424b655804ca 17609106f057
children 14c4a6aac623
line wrap: on
line diff
--- a/lisp/files.el	Thu Aug 23 12:13:43 2007 +0000
+++ b/lisp/files.el	Wed Aug 29 05:03:40 2007 +0000
@@ -2026,7 +2026,6 @@
      ("\\.dtd\\'" . sgml-mode)
      ("\\.ds\\(ss\\)?l\\'" . dsssl-mode)
      ("\\.js\\'" . java-mode)		; javascript-mode would be better
-     ("\\.x[bp]m\\'" . c-mode)
      ;; .emacs or .gnus or .viper following a directory delimiter in
      ;; Unix, MSDOG or VMS syntax.
      ("[]>:/\\]\\..*\\(emacs\\|gnus\\|viper\\)\\'" . emacs-lisp-mode)
@@ -3181,14 +3180,15 @@
 	  (set-default-file-modes ?\700)
 	  (while (condition-case ()
 		     (progn
-		       (condition-case nil
-			   (delete-file to-name)
-			 (file-error nil))
+		       (and (file-exists-p to-name)
+			    (delete-file to-name))
 		       (copy-file from-name to-name nil t)
 		       nil)
 		   (file-already-exists t))
 	    ;; The file was somehow created by someone else between
 	    ;; `delete-file' and `copy-file', so let's try again.
+	    ;; rms says "I think there is also a possible race
+	    ;; condition for making backup files" (emacs-devel 20070821).
 	    nil))
       ;; Reset the umask.
       (set-default-file-modes umask)))