]> git.eshelyaron.com Git - emacs.git/commitdiff
Make URL redirection work again.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 14 May 2012 07:56:04 +0000 (09:56 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 14 May 2012 07:56:04 +0000 (09:56 +0200)
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.

lisp/url/ChangeLog
lisp/url/url-expand.el

index c41df0e832b1635503158e99d4f401594413c69b..87f2cfe5019cde167cd5ee15fddec2cc17a03534 100644 (file)
@@ -1,3 +1,8 @@
+2012-05-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * url-expand.el (url-default-expander): Copy over the fullness of
+       the new URL object based on the definition URL object.
+
 2012-05-10  Chong Yidong  <cyd@gnu.org>
 
        * url-parse.el (url-path-and-query, url-port-if-non-default): New
index 156b06c895bb589cfde2a9d2c995900cb729653b..e5c795969aa4214dc576ed4ea46a1737e395b2be 100644 (file)
@@ -116,13 +116,17 @@ path components followed by `..' are removed, along with the `..' itself."
     (setf (url-port urlobj) (or (url-port urlobj)
                                 (and (string= (url-type urlobj)
                                               (url-type defobj))
-                                     (url-port defobj))))
+                                    (url-port defobj))))
     (if (not (string= "file" (url-type urlobj)))
        (setf (url-host urlobj) (or (url-host urlobj) (url-host defobj))))
     (if (string= "ftp"  (url-type urlobj))
        (setf (url-user urlobj) (or (url-user urlobj) (url-user defobj))))
     (if (string= (url-filename urlobj) "")
        (setf (url-filename urlobj) "/"))
+    ;; If the object we're expanding from is full, then we are now
+    ;; full.
+    (unless (url-fullness urlobj)
+      (setf (url-fullness urlobj) (url-fullness defobj)))
     (if (string-match "^/" (url-filename urlobj))
        nil
       (let ((query nil)