summaryrefslogtreecommitdiff
path: root/lisp/url
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/url')
-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 @@
+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
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."
(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)