瀏覽代碼

org-export: Default title doesn't overwrite a blank #+title keyword

* contrib/lisp/org-export.el (org-export-collect-options): Default
  title is retrieved before in-buffer settings are read.  Also, be
  more careful about indirect buffers.
Nicolas Goaziou 13 年之前
父節點
當前提交
57f51dce5d
共有 1 個文件被更改,包括 8 次插入10 次删除
  1. 8 10
      contrib/lisp/org-export.el

+ 8 - 10
contrib/lisp/org-export.el

@@ -843,6 +843,13 @@ settings."
   (let ((options (org-combine-plists
 		  ;; ... from global variables...
 		  (org-export-get-global-options backend)
+		  ;; ... from buffer's name (default title)...
+		  `(:title
+		    ,(or (let ((file (buffer-file-name (buffer-base-buffer))))
+			   (and file
+				(file-name-sans-extension
+				 (file-name-nondirectory file))))
+			 (buffer-name (buffer-base-buffer))))
 		  ;; ... from an external property list...
 		  ext-plist
 		  ;; ... from in-buffer settings...
@@ -854,16 +861,7 @@ settings."
 		  (and subtreep
 		       (org-export-get-subtree-options)))))
     ;; Add initial options.
-    (setq options (append (org-export-initial-options options)
-			  options))
-    ;; Set a default title if none has been specified so far.
-    (unless (plist-get options :title)
-      (setq options (plist-put options :title
-			       (or (and buffer-file-name
-					(file-name-sans-extension
-					 (file-name-nondirectory
-					  buffer-file-name)))
-				   (buffer-name)))))
+    (setq options (append (org-export-initial-options options) options))
     ;; Return plist.
     options))