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)))))
```


Reply via email to