aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Magne Ingebrigtsen2012-05-14 09:56:04 +0200
committerLars Magne Ingebrigtsen2012-05-14 09:56:04 +0200
commitac9f0b75eb3a7fb50226cda2cfa1980c2df2b429 (patch)
tree29ec8428765636c09496be0f245cf81abab4822b
parent9d0a235ab25062a5a0c66a292cfc54366bb75f74 (diff)
downloademacs-ac9f0b75eb3a7fb50226cda2cfa1980c2df2b429.tar.gz
emacs-ac9f0b75eb3a7fb50226cda2cfa1980c2df2b429.zip
Make URL redirection work again.
The previous changes would make redirection fail, since the expansion would end up with URLs that looked like "http:www.bing.com/hello". * url-expand.el (url-default-expander): Copy over the fullness of the new URL object based on the definition URL object.
-rw-r--r--lisp/url/ChangeLog5
-rw-r--r--lisp/url/url-expand.el6
2 files changed, 10 insertions, 1 deletions
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index c41df0e832b..87f2cfe5019 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,8 @@
12012-05-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * url-expand.el (url-default-expander): Copy over the fullness of
4 the new URL object based on the definition URL object.
5
12012-05-10 Chong Yidong <cyd@gnu.org> 62012-05-10 Chong Yidong <cyd@gnu.org>
2 7
3 * url-parse.el (url-path-and-query, url-port-if-non-default): New 8 * url-parse.el (url-path-and-query, url-port-if-non-default): New
diff --git a/lisp/url/url-expand.el b/lisp/url/url-expand.el
index 156b06c895b..e5c795969aa 100644
--- a/lisp/url/url-expand.el
+++ b/lisp/url/url-expand.el
@@ -116,13 +116,17 @@ path components followed by `..' are removed, along with the `..' itself."
116 (setf (url-port urlobj) (or (url-port urlobj) 116 (setf (url-port urlobj) (or (url-port urlobj)
117 (and (string= (url-type urlobj) 117 (and (string= (url-type urlobj)
118 (url-type defobj)) 118 (url-type defobj))
119 (url-port defobj)))) 119 (url-port defobj))))
120 (if (not (string= "file" (url-type urlobj))) 120 (if (not (string= "file" (url-type urlobj)))
121 (setf (url-host urlobj) (or (url-host urlobj) (url-host defobj)))) 121 (setf (url-host urlobj) (or (url-host urlobj) (url-host defobj))))
122 (if (string= "ftp" (url-type urlobj)) 122 (if (string= "ftp" (url-type urlobj))
123 (setf (url-user urlobj) (or (url-user urlobj) (url-user defobj)))) 123 (setf (url-user urlobj) (or (url-user urlobj) (url-user defobj))))
124 (if (string= (url-filename urlobj) "") 124 (if (string= (url-filename urlobj) "")
125 (setf (url-filename urlobj) "/")) 125 (setf (url-filename urlobj) "/"))
126 ;; If the object we're expanding from is full, then we are now
127 ;; full.
128 (unless (url-fullness urlobj)
129 (setf (url-fullness urlobj) (url-fullness defobj)))
126 (if (string-match "^/" (url-filename urlobj)) 130 (if (string-match "^/" (url-filename urlobj))
127 nil 131 nil
128 (let ((query nil) 132 (let ((query nil)