Kaynağa Gözat

org-element: Fix inline src block parsing

* lisp/org-element.el (org-element--pair-curly-table): Fix typo.
* testing/lisp/test-org-element.el (test-org-element/inline-src-block-parser):
Add tests.

Reported-by: William Denton <wtd@pobox.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/105748>
Nicolas Goaziou 9 yıl önce
ebeveyn
işleme
dcfe011998
2 değiştirilmiş dosya ile 19 ekleme ve 2 silme
  1. 1 1
      lisp/org-element.el
  2. 18 1
      testing/lisp/test-org-element.el

+ 1 - 1
lisp/org-element.el

@@ -415,7 +415,7 @@ Other brackets are treated as spaces.")
   (let ((table (make-syntax-table)))
     (modify-syntax-entry ?\{ "(}" table)
     (modify-syntax-entry ?\} "){" table)
-    (dolist (char '(?\[ ?\[ ?\( ?\) ?\< ?\>) table)
+    (dolist (char '(?\[ ?\] ?\( ?\) ?\< ?\>) table)
       (modify-syntax-entry char " " table)))
   "Table used internally to pair only curly brackets.
 Other brackets are treated as spaces.")

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

@@ -1198,7 +1198,24 @@ Some other text
   (should
    (eq 'inline-src-block
        (org-test-with-temp-text "src_emacs-lisp[:foo\nbar]{(+ 1 1)}"
-	 (org-element-type (org-element-context))))))
+	 (org-element-type (org-element-context)))))
+  ;; Besides curly brackets, ignore any other bracket type.
+  (should
+   (equal "[foo"
+	  (org-test-with-temp-text "src_emacs-lisp{[foo}"
+	    (org-element-property :value (org-element-context)))))
+  (should
+   (equal "foo]"
+	  (org-test-with-temp-text "src_emacs-lisp{foo]}"
+	    (org-element-property :value (org-element-context)))))
+  (should
+   (equal "(foo"
+	  (org-test-with-temp-text "src_emacs-lisp{foo}"
+	    (org-element-property :value (org-element-context)))))
+  (should
+   (equal "foo)"
+	  (org-test-with-temp-text "src_emacs-lisp{foo)}"
+	    (org-element-property :value (org-element-context))))))
 
 
 ;;;; Inlinetask