Pārlūkot izejas kodu

org-element: Properly unescape data in export blocks

* lisp/org-element.el (org-element-export-block-parser): Remove commas
  in export blocks.
* testing/lisp/test-org-element.el (test-org-element/export-block-parser):
  Add test.
Nicolas Goaziou 8 gadi atpakaļ
vecāks
revīzija
a540e894b6
2 mainītis faili ar 9 papildinājumiem un 3 dzēšanām
  1. 3 2
      lisp/org-element.el
  2. 6 1
      testing/lisp/test-org-element.el

+ 3 - 2
lisp/org-element.el

@@ -1992,8 +1992,9 @@ Assume point is at export-block beginning."
 					(point)))
 	       (end (progn (skip-chars-forward " \r\t\n" limit)
 			   (if (eobp) (point) (line-beginning-position))))
-	       (value (buffer-substring-no-properties contents-begin
-						      contents-end)))
+	       (value (org-unescape-code-in-string
+		       (buffer-substring-no-properties contents-begin
+						       contents-end))))
 	  (list 'export-block
 		(nconc
 		 (list :type (and backend (upcase backend))

+ 6 - 1
testing/lisp/test-org-element.el

@@ -836,7 +836,12 @@ Some other text
   ;; Handle non-empty blank line at the end of buffer.
   (should
    (org-test-with-temp-text "#+BEGIN_EXPORT latex\nC\n#+END_EXPORT\n "
-     (= (org-element-property :end (org-element-at-point)) (point-max)))))
+     (= (org-element-property :end (org-element-at-point)) (point-max))))
+  ;; Un-escape commas in `:value'.
+  (should
+   (equal "* H\n"
+	  (org-test-with-temp-text "#+BEGIN_EXPORT org\n,* H\n#+END_EXPORT\n "
+	    (org-element-property :value (org-element-at-point))))))
 
 
 ;;;; Export Snippet