Browse Source

ob-exp: Do not comma-escape inline source code

* lisp/ob-exp.el (org-babel-exp-code): Do not comma-escape inline
source code.
* testing/lisp/test-ob-exp.el (ob-exp/exports-inline-code): Add test.
Nicolas Goaziou 3 năm trước cách đây
mục cha
commit
bcc1b0f1bb
2 tập tin đã thay đổi với 13 bổ sung2 xóa
  1. 5 2
      lisp/ob-exp.el
  2. 8 0
      testing/lisp/test-ob-exp.el

+ 5 - 2
lisp/ob-exp.el

@@ -360,9 +360,12 @@ replaced with its value."
   (org-fill-template
    (if (eq type 'inline)
        org-babel-exp-inline-code-template
-       org-babel-exp-code-template)
+     org-babel-exp-code-template)
    `(("lang"  . ,(nth 0 info))
-     ("body"  . ,(org-escape-code-in-string (nth 1 info)))
+     ;; Inline source code should not be escaped.
+     ("body"  . ,(let ((body (nth 1 info)))
+                   (if (eq type 'inline) body
+                     (org-escape-code-in-string body))))
      ("switches" . ,(let ((f (nth 3 info)))
 		      (and (org-string-nw-p f) (concat " " f))))
      ("flags" . ,(let ((f (assq :flags (nth 2 info))))

+ 8 - 0
testing/lisp/test-ob-exp.el

@@ -213,6 +213,14 @@ Here is one at the end of a line. {{{results(=2=)}}}
 		  (org-export-use-babel t))
 	      (org-babel-exp-process-buffer))
 	    (buffer-string))))
+  ;; Do not escape characters in inline source blocks.
+  (should
+   (equal "src_c[]{*a}"
+	  (org-test-with-temp-text "src_c[ :exports code ]{*a}"
+	    (let ((org-babel-inline-result-wrap "=%s=")
+		  (org-export-use-babel t))
+	      (org-babel-exp-process-buffer))
+	    (buffer-string))))
   (should
    (equal "src_emacs-lisp[]{(+ 1 1)} {{{results(=2=)}}}"
 	  (org-test-with-temp-text "src_emacs-lisp[:exports both]{(+ 1 1)}"