The documentation for plain links states that PATHPLAIN is: > A string containing non-whitespace non-bracket (()[]<>=) characters, > optionally containing parenthesis-wrapped non-whitespace non-bracket > substrings up to a depth of two. The string must end with either a > non-punctation non-whitespace character, a forwards slash, or a > parenthesis-wrapped substring.
but if we create an org-mode document with the following test content: ``` http://foo/bar=baz http://foo/bar[baz ``` and run a M-x eval-expression (message "%s" (pp-to-string (org-element-parse-buffer))) Then we can see that it allows the equals sign in the PATHPLAIN (output pasted below) Link to the documentation: https://orgmode.org/worg/org-syntax.html#org6934900 Syntax tree: ``` (org-data (:begin 1 :contents-begin 1 :contents-end 40 :end 40 :robust-begin 3 :robust-end 38 :post-blank 0 :post-affiliated 1 :path "/tmp/test/test.org" :mode org-data :CATEGORY "test" :granularity nil) (section (:begin 1 :end 40 :contents-begin 1 :contents-end 40 :robust-begin 1 :robust-end 38 :post-blank 0 :post-affiliated 1 :mode first-section :granularity nil :parent #0) (paragraph (:begin 1 :end 21 :contents-begin 1 :contents-end 20 :post-blank 1 :post-affiliated 1 :mode top-comment :granularity nil :parent #1) (link (:type "http" :path "//foo/bar=baz" :format plain :raw-link "http://foo/bar=baz" :application nil :search-option nil :begin 1 :end 19 :contents-begin nil :contents-end nil :post-blank 0 :parent #2)) #("\n" 0 1 (:parent #2))) (paragraph (:begin 21 :end 40 :contents-begin 21 :contents-end 40 :post-blank 0 :post-affiliated 21 :mode nil :granularity nil :parent #1) (link (:type "http" :path "//foo/bar" :format plain :raw-link "http://foo/bar" :application nil :search-option nil :begin 21 :end 35 :contents-begin nil :contents-end nil :post-blank 0 :parent #2)) #("[baz\n" 0 5 (:parent #2))))) ```