ox: White spaces after export snippets are never ignored
authorNicolas Goaziou <n.goaziou@gmail.com>
Thu, 21 Mar 2013 19:08:24 +0000 (20:08 +0100)
committerNicolas Goaziou <n.goaziou@gmail.com>
Mon, 25 Mar 2013 19:29:31 +0000 (20:29 +0100)
* 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.

lisp/ox.el
testing/lisp/test-ox.el

index a3694b6..1aa5f1e 100644 (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)))
index 766a771..8832bcd 100644 (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)))))
 
 
 \f