From a032a70212f82e2d7d1e8ca056508a16f4fd5c3e Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 1 Mar 2012 09:33:50 +0100 Subject: [PATCH] * files.el (file-equal-p): Fix docstring. Avoid unnecessary access of FILE2, if FILE1 does not exist. --- lisp/ChangeLog | 5 +++++ lisp/files.el | 11 ++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8df640a3c99..a320976a74f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-03-01 Michael Albinus + + * files.el (file-equal-p): Fix docstring. Avoid unnecessary + access of FILE2, if FILE1 does not exist. + 2012-03-01 Michael R. Mauger * progmodes/sql.el: Bug fix diff --git a/lisp/files.el b/lisp/files.el index 0d687a157fe..88ebb9eaab4 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -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. -- 2.39.2