changeset 110578:5874484c8de5

Small url-cache fix. * lisp/url/url-cache.el (url-cache-create-filename): Ensure no-port and default-port end up with the same cache file. (url-cache-create-filename-human-readable) (url-cache-create-filename-using-md5): Argument is always in the form of a string now.
author Glenn Morris <rgm@gnu.org>
date Sat, 25 Sep 2010 13:59:05 -0700
parents 71576987bc2d
children 5fabe7db5188
files lisp/url/ChangeLog lisp/url/url-cache.el
diffstat 2 files changed, 17 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/url/ChangeLog	Sat Sep 25 16:16:35 2010 -0400
+++ b/lisp/url/ChangeLog	Sat Sep 25 13:59:05 2010 -0700
@@ -1,3 +1,11 @@
+2010-09-25  Julien Danjou  <julien@danjou.info>
+
+	* url-cache.el (url-cache-create-filename): Ensure no-port and
+	default-port end up with the same cache file.
+	(url-cache-create-filename-human-readable)
+	(url-cache-create-filename-using-md5): Argument is always in the form of
+	a string now.
+
 2010-09-23  Glenn Morris  <rgm@gnu.org>
 
 	* url-cache.el (url-is-cached): Doc fix.
--- a/lisp/url/url-cache.el	Sat Sep 25 16:16:35 2010 -0400
+++ b/lisp/url/url-cache.el	Sat Sep 25 13:59:05 2010 -0700
@@ -95,8 +95,7 @@
 (defun url-cache-create-filename-human-readable (url)
   "Return a filename in the local cache for URL."
   (if url
-      (let* ((url (if (vectorp url) (url-recreate-url url) url))
-	     (urlobj (url-generic-parse-url url))
+      (let* ((urlobj (url-generic-parse-url url))
 	     (protocol (url-type urlobj))
 	     (hostname (url-host urlobj))
 	     (host-components
@@ -154,8 +153,7 @@
 Very fast if you have an `md5' primitive function, suitably fast otherwise."
   (require 'md5)
   (if url
-      (let* ((url (if (vectorp url) (url-recreate-url url) url))
-	     (checksum (md5 url))
+      (let* ((checksum (md5 url))
 	     (urlobj (url-generic-parse-url url))
 	     (protocol (url-type urlobj))
 	     (hostname (url-host urlobj))
@@ -185,7 +183,13 @@
   :group 'url-cache)
 
 (defun url-cache-create-filename (url)
-  (funcall url-cache-creation-function url))
+  (funcall url-cache-creation-function
+           ;; We need to parse+recreate in order to remove the default port
+           ;; if it has been specified: e.g. http://www.example.com:80 will
+           ;; be transcoded as http://www.example.com
+           (url-recreate-url
+            (if (vectorp url) url
+              (url-generic-parse-url url)))))
 
 ;;;###autoload
 (defun url-cache-extract (fnam)