* files.el (file-equal-p): Fix docstring. Avoid unnecessary
authorMichael Albinus <michael.albinus@gmx.de>
Thu, 1 Mar 2012 08:33:50 +0000 (09:33 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Thu, 1 Mar 2012 08:33:50 +0000 (09:33 +0100)
access of FILE2, if FILE1 does not exist.

lisp/ChangeLog
lisp/files.el

index 8df640a..a320976 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-01  Michael Albinus  <michael.albinus@gmx.de>
+
+       * files.el (file-equal-p): Fix docstring.  Avoid unnecessary
+       access of FILE2, if FILE1 does not exist.
+
 2012-03-01  Michael R. Mauger  <mmaug@yahoo.com>
 
        * progmodes/sql.el: Bug fix
index 0d687a1..88ebb9e 100644 (file)
@@ -4986,15 +4986,16 @@ given.  With a prefix argument, TRASH is nil."
       (delete-directory-internal directory)))))
 
 (defun file-equal-p (file1 file2)
-  "Return non-nil if existing files FILE1 and FILE2 name the same file.
-Return nil if one or both files doesn't exists."
+  "Return non-nil if files FILE1 and FILE2 name the same file.
+If FILE1 or FILE2 does not exist, the return value is unspecified."
   (let ((handler (or (find-file-name-handler file1 'file-equal-p)
                      (find-file-name-handler file2 'file-equal-p))))
     (if handler
         (funcall handler 'file-equal-p file1 file2)
-      (let ((f1-attr (file-attributes (file-truename file1)))
-            (f2-attr (file-attributes (file-truename file2))))
-        (and f1-attr f2-attr (equal f1-attr f2-attr))))))
+      (let (f1-attr f2-attr)
+        (and (setq f1-attr (file-attributes (file-truename file1)))
+            (setq f2-attr (file-attributes (file-truename file2)))
+            (equal f1-attr f2-attr))))))
 
 (defun file-subdir-of-p (dir1 dir2)
   "Return non-nil if DIR1 is a subdirectory of DIR2.