Hi Nicolas

Thank you for reviewing.

On Sat, Nov 16, 2013 at 9:43 PM, Nicolas Goaziou <n.goaz...@gmail.com> wrote:
> You are testing `url-encode-url' here, not an Org function. Is it really
> required?

No, the point about documentation is now covered in org-open-at-point
like all other previous changes to the ERT. Please see the attached
changed local commit.

Michael
commit 971a3a4e485c897b8b6c2c1c244d02cb8d943167
Author: Michael Brand <michael.ch.br...@gmail.com>
Date:   Sun Nov 17 12:00:18 2013 +0100

    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'.

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

Reply via email to