branch: externals-release/org commit 89d13998bd6ad4144d383ede16ff71cfaae439b3 Author: Ihor Radchenko <yanta...@posteo.net> Commit: Ihor Radchenko <yanta...@posteo.net>
org-element-fixed-width-parser: Fix when :value is empty * lisp/org-element.el (org-element-fixed-width-interpreter): Interpret fixed-width element with :value "" as ":\n", not as empty string. * testing/lisp/test-org-element.el (test-org-element/fixed-width-interpreter): Fixed the test. The previous test, albeit intentionally asserting "" result, breaks reversibility of parse-interpret sequence. --- lisp/org-element.el | 4 +++- testing/lisp/test-org-element.el | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/org-element.el b/lisp/org-element.el index f787fb1f71..389acf8250 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/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