diff --git a/lisp/ox.el b/lisp/ox.el index a3694b656..1aa5f1eee 100644 --- a/lisp/ox.el +++ b/lisp/ox.el @@ -2062,8 +2062,12 @@ Return transcoded string." (eq (plist-get info :with-archived-trees) 'headline) (org-element-property :archivedp data))) (let ((transcoder (org-export-transcoder data info))) - (and (functionp transcoder) - (funcall transcoder data nil info)))) + (or (and (functionp transcoder) + (funcall transcoder data nil info)) + ;; Export snippets never return a nil value so + ;; that white spaces following them are never + ;; ignored. + (and (eq type 'export-snippet) "")))) ;; Element/Object with contents. (t (let ((transcoder (org-export-transcoder data info))) diff --git a/testing/lisp/test-ox.el b/testing/lisp/test-ox.el index 766a77114..8832bcdd4 100644 --- a/testing/lisp/test-ox.el +++ b/testing/lisp/test-ox.el @@ -871,7 +871,16 @@ body\n"))) (let ((org-export-snippet-translation-alist nil)) (should (equal (org-export-as 'test) "A\n"))) (let ((org-export-snippet-translation-alist '(("t" . "test")))) - (should (equal (org-export-as 'test) "AB\n")))))) + (should (equal (org-export-as 'test) "AB\n"))))) + ;; Ignored export snippets do not remove any blank. + (should + (equal "begin end\n" + (org-test-with-parsed-data "begin @@test:A@@ end" + (org-export-data-with-translations + tree + '((paragraph . (lambda (paragraph contents info) contents)) + (section . (lambda (section contents info) contents))) + info)))))