From: Chong Yidong <cyd@gnu.org>
Date: Wed, 9 May 2012 12:39:40 +0000 (+0800)
Subject: Encoding fix for browse-url-encode-url.
X-Git-Tag: emacs-24.2.90~471^2~141
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=00fd78ed4f34548d1e7bca6fe28b74decd4bef39;p=emacs.git

Encoding fix for browse-url-encode-url.

* lisp/net/browse-url.el (browse-url-url-encode-chars): Use upper-case.
(browse-url-encode-url): Encode spaces and quotes.

Fixes: debbugs:6300
---

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 635a24deead..bf15cd2f9aa 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-09  Chong Yidong  <cyd@gnu.org>
+
+	* net/browse-url.el (browse-url-url-encode-chars): Use upper-case.
+	(browse-url-encode-url): Encode spaces and quotes (Bug#6300).
+
 2012-05-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* shell.el (shell-completion-vars): Fix last change (bug#11348).
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 62c0e317a81..f4e7e942931 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -642,7 +642,7 @@ CHARS is a regexp-like character alternative (e.g., \"[)$]\")."
 	(s 0))
     (while (setq s (string-match chars encoded-text s))
       (setq encoded-text
-	    (replace-match (format "%%%x"
+	    (replace-match (format "%%%X"
 				   (string-to-char (match-string 0 encoded-text)))
 			   t t encoded-text)
 	    s (1+ s)))
@@ -655,7 +655,7 @@ regarding its parameter treatment."
   ;; FIXME: Is there an actual example of a web browser getting
   ;; confused?  (This used to encode commas, but at least Firefox
   ;; handles commas correctly and doesn't accept encoded commas.)
-  (browse-url-url-encode-chars url "[)$]"))
+  (browse-url-url-encode-chars url "[\")$] "))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; URL input