diff --git a/lisp/org-element.el b/lisp/org-element.el index c5d9ee99c..e6f4a4628 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -1142,10 +1142,11 @@ CONTENTS is the contents of the element." (off "[ ] ") (trans "[-] ")) (and tag (format "%s :: " tag)) - (let ((contents (replace-regexp-in-string - "\\(^\\)[ \t]*\\S-" ind contents nil nil 1))) - (if item-starts-with-par-p (org-trim contents) - (concat "\n" contents)))))) + (when contents + (let ((contents (replace-regexp-in-string + "\\(^\\)[ \t]*\\S-" ind contents nil nil 1))) + (if item-starts-with-par-p (org-trim contents) + (concat "\n" contents))))))) ;;;; Plain List diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el index e3927fe2a..5cfe95afe 100644 --- a/testing/lisp/test-org-element.el +++ b/testing/lisp/test-org-element.el @@ -2168,7 +2168,9 @@ Outside list" (equal (org-test-parse-and-interpret "-\n | a | b |") "- \n | a | b |\n")) ;; Special case: correctly handle "*" bullets. - (should (org-test-parse-and-interpret " * item")))) + (should (org-test-parse-and-interpret " * item")) + ;; Special case: correctly handle empty items. + (should (org-test-parse-and-interpret "-")))) (ert-deftest test-org-element/quote-block-interpreter () "Test quote block interpreter."