Escape link path only if path contains space or non-ascii character

* org.el (org-open-at-point): Escape link path for http:, https:,
ftp:, news:, and doi: links only if the path contains space or
non-ascii character.

This should take care of mistakenly double-escaped links as reported
by Jeff Horn in <http://article.gmane.org/gmane.emacs.orgmode/48731>.

We are just guessing here and push the responsibility for proper
escaping to the target application.
This commit is contained in:
David Maus 2011-12-18 19:23:57 +01:00 committed by Bastien Guerry
parent 6f916bc61b
commit 3305602f74
1 changed files with 8 additions and 5 deletions

View File

@ -9569,13 +9569,16 @@ application the system uses for this file type."
(apply cmd (nreverse args1))))
((member type '("http" "https" "ftp" "news"))
(browse-url (concat type ":" (org-link-escape
path org-link-escape-chars-browser))))
(browse-url (concat type ":" (if (org-string-match-p "[[:nonascii:] ]" path)
(org-link-escape
path org-link-escape-chars-browser)
path))))
((string= type "doi")
(browse-url (concat "http://dx.doi.org/"
(org-link-escape
path org-link-escape-chars-browser))))
(browse-url (concat "http://dx.doi.org/" (if (org-string-match-p "[[:nonascii:] ]" path)
(org-link-escape
path org-link-escape-chars-browser)
path))))
((member type '("message"))
(browse-url (concat type ":" path)))