From: William Xu Date: Tue, 10 Apr 2012 11:22:08 +0000 (+0200) Subject: (url-retrieve-internal): Hexify multibye URL string first when necessary. X-Git-Tag: emacs-24.2.90~471^2~365^2~13 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a967e26b4011b7efb9714ef93ec503bc89117194;p=emacs.git (url-retrieve-internal): Hexify multibye URL string first when necessary. Also mention this in the relevant doc strings. Fixes: debbugs:7017 --- diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index c2350e56594..6dcafb49bd6 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,13 @@ +2012-04-10 William Xu (tiny change) + + * url.el (url-retrieve-internal): Hexify multibye URL string first + when necessary (bug#7017). + +2012-04-10 Lars Magne Ingebrigtsen + + * url.el (url-retrieve-internal): Mention utf-8 encoding. + (url-retrieve): Ditto. + 2012-04-10 Lars Magne Ingebrigtsen * url-util.el (url-unhex-string): Add an optional CODING-SYSTEM diff --git a/lisp/url/url.el b/lisp/url/url.el index 5ced789e4e4..f3ef553bbce 100644 --- a/lisp/url/url.el +++ b/lisp/url/url.el @@ -149,7 +149,9 @@ take effect. If SILENT, then don't message progress reports and the like. If INHIBIT-COOKIES, cookies will neither be stored nor sent to -the server." +the server. +If URL is a multibyte string, it will be encoded as utf-8 and +URL-encoded before it's used." ;;; XXX: There is code in Emacs that does dynamic binding ;;; of the following variables around url-retrieve: ;;; url-standalone-mode, url-gateway-unplugged, w3-honor-stylesheets, @@ -171,11 +173,16 @@ the list of events, as described in the docstring of `url-retrieve'. If SILENT, don't message progress reports and the like. If INHIBIT-COOKIES, cookies will neither be stored nor sent to -the server." +the server. +If URL is a multibyte string, it will be encoded as utf-8 and +URL-encoded before it's used." (url-do-setup) (url-gc-dead-buffers) (if (stringp url) (set-text-properties 0 (length url) nil url)) + (when (multibyte-string-p url) + (let ((url-unreserved-chars (append '(?: ?/) url-unreserved-chars))) + (setq url (url-hexify-string url)))) (if (not (vectorp url)) (setq url (url-generic-parse-url url))) (if (not (functionp callback))