Browse Source

Merge branch 'bugfix'

Nicolas Goaziou 3 years ago
parent
commit
ef66660cf4
2 changed files with 18 additions and 15 deletions
  1. 9 15
      lisp/org-element.el
  2. 9 0
      testing/lisp/test-org-element.el

+ 9 - 15
lisp/org-element.el

@@ -435,31 +435,25 @@ still has an entry since one of its properties (`:title') does.")
   "Alist between element types and locations of secondary values.")
 
 (defconst org-element--pair-round-table
-  (let ((table (make-syntax-table)))
+  (let ((table (make-char-table 'syntax-table '(2))))
     (modify-syntax-entry ?\( "()" table)
     (modify-syntax-entry ?\) ")(" table)
-    (dolist (char '(?\{ ?\} ?\[ ?\] ?\< ?\>) table)
-      (modify-syntax-entry char " " table)))
-  "Table used internally to pair only round brackets.
-Other brackets are treated as spaces.")
+    table)
+  "Table used internally to pair only round brackets.")
 
 (defconst org-element--pair-square-table
-  (let ((table (make-syntax-table)))
+  (let ((table (make-char-table 'syntax-table '(2))))
     (modify-syntax-entry ?\[ "(]" table)
     (modify-syntax-entry ?\] ")[" table)
-    (dolist (char '(?\{ ?\} ?\( ?\) ?\< ?\>) table)
-      (modify-syntax-entry char " " table)))
-  "Table used internally to pair only square brackets.
-Other brackets are treated as spaces.")
+    table)
+  "Table used internally to pair only square brackets.")
 
 (defconst org-element--pair-curly-table
-  (let ((table (make-syntax-table)))
+  (let ((table (make-char-table 'syntax-table '(2))))
     (modify-syntax-entry ?\{ "(}" table)
     (modify-syntax-entry ?\} "){" table)
-    (dolist (char '(?\[ ?\] ?\( ?\) ?\< ?\>) table)
-      (modify-syntax-entry char " " table)))
-  "Table used internally to pair only curly brackets.
-Other brackets are treated as spaces.")
+    table)
+  "Table used internally to pair only curly brackets.")
 
 (defun org-element--parse-paired-brackets (char)
   "Parse paired brackets at point.

+ 9 - 0
testing/lisp/test-org-element.el

@@ -1161,6 +1161,15 @@ Some other text
    (org-test-with-temp-text "Text[fn::def]"
      (org-element-map
 	 (org-element-parse-buffer) 'footnote-reference 'identity)))
+  ;; Parse inline references with syntax loaded characters.
+  (should
+   (eq 'footnote-reference
+       (org-test-with-temp-text "Text[fn<point>::(def]"
+         (org-element-type (org-element-context)))))
+  (should
+   (eq 'footnote-reference
+       (org-test-with-temp-text "Text[fn<point>::\"def]"
+         (org-element-type (org-element-context)))))
   ;; Parse nested footnotes.
   (should
    (= 2