ソースを参照

ox-publish: Fix symlink publishing

* lisp/ox-publish.el (org-publish-file): Do not expand symlinks so as
  to get proper publishing directory.

Reported-by: Julien Cubizolles <j.cubizolles@free.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/113611>
Nicolas Goaziou 8 年 前
コミット
118ec40c53
1 ファイル変更8 行追加11 行削除
  1. 8 11
      lisp/ox-publish.el

+ 8 - 11
lisp/ox-publish.el

@@ -665,8 +665,7 @@ If NO-CACHE is not nil, do not initialize `org-publish-cache'.
 This is needed, since this function is used to publish single
 This is needed, since this function is used to publish single
 files, when entire projects are published (see
 files, when entire projects are published (see
 `org-publish-projects')."
 `org-publish-projects')."
-  (let* ((filename (file-truename filename)) ;normalize name
-	 (project
+  (let* ((project
 	  (or project
 	  (or project
 	      (org-publish-get-project-from-filename filename)
 	      (org-publish-get-project-from-filename filename)
 	      (user-error "File %S is not part of any known project"
 	      (user-error "File %S is not part of any known project"
@@ -679,17 +678,15 @@ files, when entire projects are published (see
 	    (f (list f))))
 	    (f (list f))))
 	 (base-dir
 	 (base-dir
 	  (file-name-as-directory
 	  (file-name-as-directory
-	   (file-truename
-	    (or (plist-get project-plist :base-directory)
-		(user-error "Project %S does not have :base-directory defined"
-			    (car project))))))
+	   (or (org-publish-property :base-directory project)
+	       (user-error "Project %S does not have :base-directory defined"
+			   (car project)))))
 	 (pub-base-dir
 	 (pub-base-dir
 	  (file-name-as-directory
 	  (file-name-as-directory
-	   (file-truename
-	    (or (eval (plist-get project-plist :publishing-directory))
-		(user-error
-		 "Project %S does not have :publishing-directory defined"
-		 (car project))))))
+	   (or (org-publish-property :publishing-directory project)
+	       (user-error
+		"Project %S does not have :publishing-directory defined"
+		(car project)))))
 	 (pub-dir
 	 (pub-dir
 	  (file-name-directory
 	  (file-name-directory
 	   (expand-file-name (file-relative-name filename base-dir)
 	   (expand-file-name (file-relative-name filename base-dir)