Mercurial > emacs
changeset 110684:88f8a448614e
(url-http-async-sentinel): Check that the buffer is still alive before
switching to it.
author | Lars Magne Ingebrigtsen <larsi@gnus.org> |
---|---|
date | Fri, 01 Oct 2010 16:05:25 +0200 |
parents | 55c8c3ca3d48 |
children | 1d1ed3e3e171 |
files | lisp/url/ChangeLog lisp/url/url-http.el |
diffstat | 2 files changed, 20 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/url/ChangeLog Fri Oct 01 06:56:33 2010 -0700 +++ b/lisp/url/ChangeLog Fri Oct 01 16:05:25 2010 +0200 @@ -1,3 +1,8 @@ +2010-10-01 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * url-http.el (url-http-async-sentinel): Check that the buffer is + still alive before switching to it. + 2010-09-25 Julien Danjou <julien@danjou.info> * url-cache.el (url-cache-create-filename): Ensure no-port and
--- a/lisp/url/url-http.el Fri Oct 01 06:56:33 2010 -0700 +++ b/lisp/url/url-http.el Fri Oct 01 16:05:25 2010 +0200 @@ -1244,20 +1244,21 @@ (declare (special url-callback-arguments)) ;; We are performing an asynchronous connection, and a status change ;; has occurred. - (with-current-buffer (process-buffer proc) - (cond - (url-http-connection-opened - (url-http-end-of-document-sentinel proc why)) - ((string= (substring why 0 4) "open") - (setq url-http-connection-opened t) - (process-send-string proc (url-http-create-request))) - (t - (setf (car url-callback-arguments) - (nconc (list :error (list 'error 'connection-failed why - :host (url-host (or url-http-proxy url-current-object)) - :service (url-port (or url-http-proxy url-current-object)))) - (car url-callback-arguments))) - (url-http-activate-callback))))) + (when (buffer-name (process-buffer proc)) + (with-current-buffer (process-buffer proc) + (cond + (url-http-connection-opened + (url-http-end-of-document-sentinel proc why)) + ((string= (substring why 0 4) "open") + (setq url-http-connection-opened t) + (process-send-string proc (url-http-create-request))) + (t + (setf (car url-callback-arguments) + (nconc (list :error (list 'error 'connection-failed why + :host (url-host (or url-http-proxy url-current-object)) + :service (url-port (or url-http-proxy url-current-object)))) + (car url-callback-arguments))) + (url-http-activate-callback)))))) ;; Since Emacs 19/20 does not allow you to change the ;; `after-change-functions' hook in the midst of running them, we fake