branch: externals/org
commit d0758eabfebc2fac3170eecded81672e6150a885
Merge: bcca8819c3 a52d0f0918
Author: Ihor Radchenko <yanta...@posteo.net>
Commit: Ihor Radchenko <yanta...@posteo.net>

    Merge branch 'bugfix'
---
 lisp/org-element.el              |  4 +++-
 lisp/ox.el                       |  2 +-
 testing/lisp/test-org-element.el |  2 +-
 testing/lisp/test-ox.el          | 10 ++++++++++
 4 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index 9d91c71fac..ccecec342f 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -2382,7 +2382,9 @@ Assume point is at the beginning of the fixed-width area."
 (defun org-element-fixed-width-interpreter (fixed-width _)
   "Interpret FIXED-WIDTH element as Org syntax."
   (let ((value (org-element-property :value fixed-width)))
-    (and value (replace-regexp-in-string "^" ": " value))))
+    (and value
+         (if (string-empty-p value) ":\n"
+           (replace-regexp-in-string "^" ": " value)))))
 
 
 ;;;; Horizontal Rule
diff --git a/lisp/ox.el b/lisp/ox.el
index 495d273957..86dce8f7cf 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -3040,7 +3040,7 @@ Return code as a string."
                ;; This way, we will be able to retrieve its export
                ;; options when calling
                ;; `org-export--get-subtree-options'.
-               (backward-char)
+               (when (bolp) (backward-char))
               (narrow-to-region (point) (point-max))))
         ;; Initialize communication channel with original buffer
         ;; attributes, unavailable in its copy.
diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el
index 2d67cc8711..43f1d860f0 100644
--- a/testing/lisp/test-org-element.el
+++ b/testing/lisp/test-org-element.el
@@ -3099,7 +3099,7 @@ CLOCK: [2012-01-01 sun. 00:01]--[2012-01-01 sun. 00:02] 
=>  0:01"))))
   (should
    (equal (org-element-fixed-width-interpreter
           '(fixed-width (:value "")) nil)
-         ""))
+         ":\n"))
   ;; Handle nil value.
   (should-not
    (org-element-fixed-width-interpreter
diff --git a/testing/lisp/test-ox.el b/testing/lisp/test-ox.el
index cdb549df4b..99f5c0f0f7 100644
--- a/testing/lisp/test-ox.el
+++ b/testing/lisp/test-ox.el
@@ -1113,6 +1113,16 @@ Text"
            (org-export-as (org-test-default-backend)
                           'subtree nil nil
                           '(:with-planning t :with-properties t)))))
+  (should
+   (equal ""
+         (org-test-with-temp-text "
+* H
+:PROPERTIES:
+:A: 1
+:END:<point>
+* H2"
+           (org-export-as (org-test-default-backend)
+                          'subtree))))
   ;; Visible.
   (should
    (equal "* H1\n"

Reply via email to