summaryrefslogtreecommitdiff
path: root/lisp/url
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/url')
-rw-r--r--lisp/url/ChangeLog28
-rw-r--r--lisp/url/url-cache.el1
-rw-r--r--lisp/url/url-expand.el2
-rw-r--r--lisp/url/url-http.el11
-rw-r--r--lisp/url/url-misc.el36
-rw-r--r--lisp/url/url-parse.el5
6 files changed, 55 insertions, 28 deletions
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 95c8edbe8b1..f8f24de6b68 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,31 @@
+2013-02-16 Glenn Morris <rgm@gnu.org>
+
+ * url-http.el (url-http-wait-for-headers-change-function):
+ Avoid prematurely finding the end of headers when they arrive
+ line-by-line. (Bug#13598)
+
+2013-02-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * url-cache.el (url-cache-create-filename-using-md5): Don't waste your
+ time `requiring' a builtin feature.
+
+2012-12-22 Takafumi Arakaki <aka.tkf@gmail.com> (tiny change)
+
+ * url-http.el (url-http-end-of-document-sentinel): Bind relevant
+ url-request-* variables around the call to url-http (Bug#11469).
+
+ * url-expand.el (url-default-expander): Don't calculate a default
+ url port before checking url-type (Bug#12374).
+
+2012-12-22 Chong Yidong <cyd@gnu.org>
+
+ * url-parse.el (url-port): Doc fix.
+
+2012-12-03 Chong Yidong <cyd@gnu.org>
+
+ * url-misc.el (url-do-terminal-emulator): Use make-term instead of
+ terminal-emulator.
+
2012-10-13 Liam Stitt <stittl@cuug.ab.ca> (tiny change)
* url-vars.el (url-uncompressor-alist):
diff --git a/lisp/url/url-cache.el b/lisp/url/url-cache.el
index a5e5ebf1ed4..cb0281b87f2 100644
--- a/lisp/url/url-cache.el
+++ b/lisp/url/url-cache.el
@@ -149,7 +149,6 @@ The actual return value is the last modification time of the cache file."
(defun url-cache-create-filename-using-md5 (url)
"Create a cached filename using MD5.
Very fast if you have an `md5' primitive function, suitably fast otherwise."
- (require 'md5)
(if url
(let* ((checksum (md5 url))
(urlobj (url-generic-parse-url url))
diff --git a/lisp/url/url-expand.el b/lisp/url/url-expand.el
index cd3c0163301..51a3e64064a 100644
--- a/lisp/url/url-expand.el
+++ b/lisp/url/url-expand.el
@@ -112,7 +112,7 @@ path components followed by `..' are removed, along with the `..' itself."
;; Well, they told us the scheme, let's just go with it.
nil
(setf (url-type urlobj) (or (url-type urlobj) (url-type defobj)))
- (setf (url-port urlobj) (or (url-port urlobj)
+ (setf (url-port urlobj) (or (url-portspec urlobj)
(and (string= (url-type urlobj)
(url-type defobj))
(url-port defobj))))
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index 222dbc98e4a..33fc5722759 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -890,8 +890,11 @@ should be shown to the user."
(url-http-activate-callback)
;; Call `url-http' again if our connection expired.
(erase-buffer)
- (url-http url-current-object url-callback-function
- url-callback-arguments (current-buffer))))
+ (let ((url-request-method url-http-method)
+ (url-request-extra-headers url-http-extra-headers)
+ (url-request-data url-http-data))
+ (url-http url-current-object url-callback-function
+ url-callback-arguments (current-buffer)))))
((url-http-parse-headers)
(url-http-activate-callback))))))
@@ -1037,7 +1040,9 @@ the end of the document."
(setq end-of-headers t
url-http-end-of-headers 0
old-http t)
- (when (re-search-forward "^\r*$" nil t)
+ ;; Blank line at end of headers.
+ (when (re-search-forward "^\r?\n" nil t)
+ (backward-char 1)
;; Saw the end of the headers
(url-http-debug "Saw end of headers... (%s)" (buffer-name))
(setq url-http-end-of-headers (set-marker (make-marker)
diff --git a/lisp/url/url-misc.el b/lisp/url/url-misc.el
index aca3aff6327..c8e9b591790 100644
--- a/lisp/url/url-misc.el
+++ b/lisp/url/url-misc.el
@@ -45,27 +45,21 @@
nil))
(defun url-do-terminal-emulator (type server port user)
- (terminal-emulator
- (generate-new-buffer (format "%s%s" (if user (concat user "@") "") server))
- (pcase type
- (`rlogin "rlogin")
- (`telnet "telnet")
- (`tn3270 "tn3270")
- (_
- (error "Unknown terminal emulator required: %s" type)))
- (pcase type
- (`rlogin
- (if user
- (list server "-l" user)
- (list server)))
- (`telnet
- (if user (message "Please log in as user: %s" user))
- (if port
- (list server port)
- (list server)))
- (`tn3270
- (if user (message "Please log in as user: %s" user))
- (list server)))))
+ (switch-to-buffer
+ (apply
+ 'make-term
+ (format "%s%s" (if user (concat user "@") "") server)
+ (cond ((eq type 'rlogin) "rlogin")
+ ((eq type 'telnet) "telnet")
+ ((eq type 'tn3270) "tn3270")
+ (t (error "Unknown terminal emulator required: %s" type)))
+ nil
+ (cond ((eq type 'rlogin)
+ (if user (list server "-l" user) (list server)))
+ ((eq type 'telnet)
+ (if port (list server port) (list server)))
+ ((eq type 'tn3270)
+ (list server))))))
;;;###autoload
(defun url-generic-emulator-loader (url)
diff --git a/lisp/url/url-parse.el b/lisp/url/url-parse.el
index 644428d19cd..1628290a358 100644
--- a/lisp/url/url-parse.el
+++ b/lisp/url/url-parse.el
@@ -39,13 +39,14 @@
silent (use-cookies t))
(defsubst url-port (urlobj)
- "Return the port number for the URL specified by URLOBJ."
+ "Return the port number for the URL specified by URLOBJ.
+If the port spec is nil (i.e. URLOBJ specifies no port number),
+return the default port number for URLOBJ's scheme."
(declare (gv-setter (lambda (port) `(setf (url-portspec ,urlobj) ,port))))
(or (url-portspec urlobj)
(if (url-type urlobj)
(url-scheme-get-property (url-type urlobj) 'default-port))))
-
(defun url-path-and-query (urlobj)
"Return the path and query components of URLOBJ.
These two components are stored together in the FILENAME slot of