New optional argument: Merge user table with default table
* org.el (org-link-escape): New optional argument. Merge user table with default table.
This commit is contained in:
parent
41c771378a
commit
27915744a2
14
lisp/org.el
14
lisp/org.el
|
@ -8614,14 +8614,22 @@ This is the list that is used for internal purposes.")
|
|||
"List of escapes for characters that are problematic in links.
|
||||
This is the list that is used before handing over to the browser.")
|
||||
|
||||
(defun org-link-escape (text &optional table)
|
||||
(defun org-link-escape (text &optional table merge)
|
||||
"Return percent escaped representation of TEXT.
|
||||
TEXT is a string with the text to escape.
|
||||
Optional argument TABLE is a list with characters that should be
|
||||
escaped. When nil, `org-link-escape-chars' is used."
|
||||
escaped. When nil, `org-link-escape-chars' is used.
|
||||
If optional argument MERGE is set, merge TABLE into
|
||||
`org-link-escape-chars'."
|
||||
(if (and org-url-encoding-use-url-hexify (not table))
|
||||
(url-hexify-string text)
|
||||
(setq table (or table org-link-escape-chars))
|
||||
(cond
|
||||
((and table merge)
|
||||
(mapc (lambda (defchr)
|
||||
(unless (member defchr table)
|
||||
(setq table (cons defchr table)))) org-link-escape-chars))
|
||||
((null table)
|
||||
(setq table org-link-escape-chars)))
|
||||
(mapconcat
|
||||
(lambda (char)
|
||||
(if (or (member char table)
|
||||
|
|
Loading…
Reference in New Issue