ox: Fix uninterpreted data in captions

* lisp/ox.el (org-export--remove-uninterpreted-data-1): Handle
  uninterpreted data in captions.

* testing/lisp/test-ox.el (test-org-export/uninterpreted): Add tests.

Reported-by: Johannes Rainer <johannes.rainer@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/100476>
This commit is contained in:
Nicolas Goaziou 2015-08-25 13:59:03 +02:00
parent 06966b9403
commit 48f009bc9f
2 changed files with 24 additions and 1 deletions

View File

@ -2732,7 +2732,7 @@ returned by the function."
;; Splice NEW at BLOB location in parse tree.
(dolist (e new (org-element-extract-element blob))
(unless (string= e "") (org-element-insert-before e blob))))))
info)
info nil nil t)
;; Return modified parse tree.
data)

View File

@ -762,6 +762,29 @@ Paragraph <2012-03-29 Thu>[2012-03-29 Thu]"
(plist-get i :title) i)))
(section . (lambda (s c i) c))))
nil nil nil '(:with-sub-superscript nil)))))
;; Handle uninterpreted objects in captions.
(should
(equal "adummy\n"
(org-test-with-temp-text "#+CAPTION: a_b\nParagraph"
(org-export-as
(org-export-create-backend
:transcoders
'((subscript . (lambda (s c i) "dummy"))
(paragraph . (lambda (p c i)
(org-export-data (org-export-get-caption p) i)))
(section . (lambda (s c i) c))))
nil nil nil '(:with-sub-superscript t)))))
(should
(equal "a_b\n"
(org-test-with-temp-text "#+CAPTION: a_b\nParagraph"
(org-export-as
(org-export-create-backend
:transcoders
'((subscript . (lambda (s c i) "dummy"))
(paragraph . (lambda (p c i)
(org-export-data (org-export-get-caption p) i)))
(section . (lambda (s c i) c))))
nil nil nil '(:with-sub-superscript nil)))))
;; Special case: multiples uninterpreted objects in a row.
(should
(equal "a_b_c_d\n"