ox: Fix "Fix :filter-options"

* lisp/ox.el (org-export-as): Remove uninterpreted data from back-end
  specific parsed keywords.

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

This fixes 6cd42b08f9.
This commit is contained in:
Nicolas Goaziou 2017-03-23 16:41:26 +01:00
parent aadde88799
commit b791cd59a5
2 changed files with 17 additions and 3 deletions

View File

@ -3036,7 +3036,8 @@ Return code as a string."
(org-combine-plists
info (org-export-get-environment backend subtreep ext-plist)))
;; De-activate uninterpreted data from parsed keywords.
(dolist (entry org-export-options-alist)
(dolist (entry (append (org-export-get-all-options backend)
org-export-options-alist))
(pcase entry
(`(,p ,_ ,_ ,_ parse)
(let ((value (plist-get info p)))

View File

@ -847,8 +847,21 @@ Paragraph <2012-03-29 Thu>[2012-03-29 Thu]"
(org-export-create-backend
:transcoders
'((subscript . (lambda (s c i) "dummy"))
(template . (lambda (c i) (org-export-data
(plist-get i :title) i)))
(template . (lambda (c i)
(org-export-data (plist-get i :title) i)))
(section . (lambda (s c i) c))))
nil nil nil '(:with-sub-superscript nil)))))
(should
(equal "a_b"
(org-test-with-temp-text "#+FOO: a_b"
(org-export-as
(org-export-create-backend
:options
'((:foo "FOO" nil nil parse))
:transcoders
'((subscript . (lambda (s c i) "dummy"))
(template . (lambda (c i)
(org-export-data (plist-get i :foo) i)))
(section . (lambda (s c i) c))))
nil nil nil '(:with-sub-superscript nil)))))
;; Objects in parsed keywords are "uninterpreted" before filters are