diff options
| author | Lars Magne Ingebrigtsen | 2012-05-14 09:56:04 +0200 |
|---|---|---|
| committer | Lars Magne Ingebrigtsen | 2012-05-14 09:56:04 +0200 |
| commit | ac9f0b75eb3a7fb50226cda2cfa1980c2df2b429 (patch) | |
| tree | 29ec8428765636c09496be0f245cf81abab4822b | |
| parent | 9d0a235ab25062a5a0c66a292cfc54366bb75f74 (diff) | |
| download | emacs-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/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/url/url-expand.el | 6 |
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 @@ | |||
| 1 | 2012-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 | |||
| 1 | 2012-05-10 Chong Yidong <cyd@gnu.org> | 6 | 2012-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) |