diff options
author | Michael Brand <michael.ch.brand@gmail.com> | 2013-11-17 12:00:18 +0100 |
---|---|---|
committer | Michael Brand <michael.ch.brand@gmail.com> | 2013-11-17 12:00:18 +0100 |
commit | 971a3a4e485c897b8b6c2c1c244d02cb8d943167 (patch) | |
tree | 42617e770b0c042cab7cd6d7b2f8c8cf0afbf0ae | |
parent | 36c8d8b4d22007e2d24104c31e3a76de83095b53 (diff) | |
download | org-mode-971a3a4e485c897b8b6c2c1c244d02cb8d943167.tar.gz |
Hyperlink: Use url-encode-url for browse-url
* lisp/org.el (org-open-at-point): When available (Emacs 24.3.1) use
`url-encode-url' instead of `org-link-escape-browser'.
-rw-r--r-- | lisp/org.el | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/lisp/org.el b/lisp/org.el index ed3928f..5cfaa2c 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -10520,11 +10520,29 @@ 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-browser path)))) + ;; In the example of the http Org link + ;; [[http://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=emacs-orgmode&query=%252Bsubject:"Release+8.2"]] + ;; to open a browser with +subject:"Release 8.2" in the + ;; query field the variable `path' contains + ;; [...]=%2Bsubject:"Release+8.2", `url-encode-url' + ;; converts correct to [...]=%2Bsubject:%22Release+8.2%22 + ;; and `org-link-escape-browser' converts wrong to + ;; [...]=%252Bsubject:%22Release+8.2%22. + ;; + ;; `url-encode-url' is available since Emacs 24.3.1 and + ;; `org-link-escape-browser' can be removed altogether + ;; once Org drops support for Emacs 24.1 and 24.2. + (browse-url (funcall (if (fboundp 'url-encode-url) + #'url-encode-url + #'org-link-escape-browser) + (concat type ":" path)))) ((string= type "doi") - (browse-url (concat org-doi-server-url - (org-link-escape-browser path)))) + ;; See comments for type http above + (browse-url (funcall (if (fboundp 'url-encode-url) + #'url-encode-url + #'org-link-escape-browser) + (concat org-doi-server-url path)))) ((member type '("message")) (browse-url (concat type ":" path))) |