From: Chong Yidong Date: Wed, 9 May 2012 12:20:26 +0000 (+0800) Subject: * url-util.el (url--allowed-chars): Use upper-case for percent-encoding. X-Git-Tag: emacs-24.2.90~471^2~142 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bdac2d37fa5f83ec57d794523147dc5d5a179992;p=emacs.git * url-util.el (url--allowed-chars): Use upper-case for percent-encoding. --- diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 3980b22d4c1..b3669a72ac3 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -3,7 +3,7 @@ * url-util.el (url-encode-url): New function for URL quoting. (url-encoding-table, url-host-allowed-chars) (url-path-allowed-chars): New constants. - (url--allowed-chars): New helper function. + (url--allowed-chars): New helper function. Use upper-case. (url-hexify-string): Use them. * url-parse.el: Improve RFC 3986 conformance. diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el index c8016ef6cdb..4185c87918e 100644 --- a/lisp/url/url-util.el +++ b/lisp/url/url-util.el @@ -343,7 +343,10 @@ This is taken from RFC 3986 (section 2.3).") (defconst url-encoding-table (let ((vec (make-vector 256 nil))) (dotimes (byte 256) - (aset vec byte (format "%%%02x" byte))) + ;; RFC 3986 (Section 2.1): For consistency, URI producers and + ;; normalizers should use uppercase hexadecimal digits for all + ;; percent-encodings. + (aset vec byte (format "%%%02X" byte))) vec) "Vector translating bytes to URI-encoded %-sequences.") @@ -362,7 +365,7 @@ result can be passed as the second arg to `url-hexify-string'." If STRING is multibyte, it is first converted to a utf-8 byte string. Each byte corresponding to an allowed character is left as-is, while all other bytes are converted to a three-character -string: \"%\" followed by two lowercase hex digits. +string: \"%\" followed by two upper-case hex digits. The allowed characters are specified by ALLOWED-CHARS. If this argument is nil, the list `url-unreserved-chars' determines the