Browse Source

org-compat.el (org-file-equal-p): New compatibility function

* org-compat.el (org-file-equal-p): New compatibility function.

* ox.el (org-export-output-file-name): Use the new function.

Thanks to Mark Edgington for reporting this.
Bastien Guerry 12 years ago
parent
commit
5ea1322c99
2 changed files with 11 additions and 1 deletions
  1. 10 0
      lisp/org-compat.el
  2. 1 1
      lisp/ox.el

+ 10 - 0
lisp/org-compat.el

@@ -489,6 +489,16 @@ With two arguments, return floor and remainder of their quotient."
 	   (defun org-release () "N/A")
 	   (defun org-git-version () "N/A !!check installation!!"))))))
 
+(defun org-file-equal-p (f1 f2)
+  "Return t if files F1 and F2 are the same.
+Implements `file-equal-p' for older emacsen and XEmacs."
+  (if (fboundp 'file-equal-p)
+      (file-equal-p f1 f2)
+    (let (f1-attr f2-attr)
+      (and (setq f1-attr (file-attributes (file-truename f1)))
+	   (setq f2-attr (file-attributes (file-truename f2)))
+	   (equal f1-attr f2-attr)))))
+
 (provide 'org-compat)
 
 ;;; org-compat.el ends here

+ 1 - 1
lisp/ox.el

@@ -3008,7 +3008,7 @@ Return file name as a string."
 	   (t (concat (file-name-as-directory ".") base-name extension)))))
     ;; If writing to OUTPUT-FILE would overwrite original file, append
     ;; EXTENSION another time to final name.
-    (if (and visited-file (file-equal-p visited-file output-file))
+    (if (and visited-file (org-file-equal-p visited-file output-file))
 	(concat output-file extension)
       output-file)))