Bladeren bron

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 6cd42b08f9347a8d6084ec23548b754f9e02b2a1.
Nicolas Goaziou 8 jaren geleden
bovenliggende
commit
b791cd59a5
2 gewijzigde bestanden met toevoegingen van 17 en 3 verwijderingen
  1. 2 1
      lisp/ox.el
  2. 15 2
      testing/lisp/test-ox.el

+ 2 - 1
lisp/ox.el

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

+ 15 - 2
testing/lisp/test-ox.el

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