diff options
Diffstat (limited to 'lisp/url')
-rw-r--r-- | lisp/url/ChangeLog | 28 | ||||
-rw-r--r-- | lisp/url/url-cache.el | 1 | ||||
-rw-r--r-- | lisp/url/url-expand.el | 2 | ||||
-rw-r--r-- | lisp/url/url-http.el | 11 | ||||
-rw-r--r-- | lisp/url/url-misc.el | 36 | ||||
-rw-r--r-- | lisp/url/url-parse.el | 5 |
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 |