Browse Source

org-export: Fix subtree export when parent section is empty

* contrib/lisp/org-export.el (org-export--get-subtree-options): When
  point is at an headline and subtree export is called, make sure
  export properties are extracted from parent headline.
* testing/lisp/test-org-export.el: Add test.
Nicolas Goaziou 5 years ago
parent
commit
bb40d29b45
2 changed files with 8 additions and 2 deletions
  1. 1 1
      contrib/lisp/org-export.el
  2. 7 1
      testing/lisp/test-org-export.el

+ 1 - 1
contrib/lisp/org-export.el

@@ -1447,7 +1447,7 @@ for export.  Return options as a plist."
   (org-with-wide-buffer
    (let (prop plist)
      ;; Make sure point is at an heading.
-     (unless (org-at-heading-p) (org-back-to-heading t))
+     (if (org-at-heading-p) (org-up-heading-safe) (org-back-to-heading t))
      ;; Take care of EXPORT_TITLE. If it isn't defined, use headline's
      ;; title as its fallback value.
      (when (setq prop (or (org-entry-get (point) "EXPORT_TITLE")

+ 7 - 1
testing/lisp/test-org-export.el

@@ -226,7 +226,13 @@ Paragraph"
   :END:
 Paragraph"
     (should (equal (plist-get (org-export-get-environment nil t) :date)
-		   '("29-03-2012")))))
+		   '("29-03-2012"))))
+  ;; Still grab correct options when section above is empty.
+  (should
+   (equal '("H1")
+	  (org-test-with-temp-text "* H1\n** H11\n** H12"
+	    (progn (forward-line 2)
+		   (plist-get (org-export-get-environment nil t) :title))))))
 
 (ert-deftest test-org-export/handle-options ()
   "Test if export options have an impact on output."