ox: White spaces after export snippets are never ignored

* lisp/ox.el (org-export-data): White spaces after export snippets are
  never ignored.
* testing/lisp/test-ox.el: Add test.

Back-end developers should pay attention to the fact that white spaces
before and after an ignored export snippet now are accumulated in the
output.
This commit is contained in:
Nicolas Goaziou 2013-03-21 20:08:24 +01:00
parent a3e8a1d604
commit a6d9fd82ea
2 changed files with 16 additions and 3 deletions

View File

@ -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)))

View File

@ -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)))))