From: Lars Ingebrigtsen Date: Sun, 19 Feb 2012 08:49:09 +0000 (+0100) Subject: Make url-queue not kill a random buffer on error X-Git-Tag: emacs-pretest-24.0.94~109 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=55645c67978eb15884ed5ca919b1691b3715e3ad;p=emacs.git Make url-queue not kill a random buffer on error * url-queue.el (url-queue-callback-function): Remove the job from the queue so that we don't kill the current buffer, which will then make the callback function kill a random buffer. --- diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 8f3e3997869..e9e7a521c1a 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,9 @@ +2012-02-19 Lars Ingebrigtsen + + * url-queue.el (url-queue-callback-function): Remove the job from + the queue so that we don't kill the current buffer, which will + then make the callback function kill a random buffer. + 2012-02-14 Lars Ingebrigtsen * url-queue.el (url-queue-kill-job): Refactored out code. diff --git a/lisp/url/url-queue.el b/lisp/url/url-queue.el index 1fc33dd22f1..6456d44c423 100644 --- a/lisp/url/url-queue.el +++ b/lisp/url/url-queue.el @@ -108,6 +108,7 @@ The variable `url-queue-timeout' sets a timeout." (url-queue-start-retrieve waiting)))) (defun url-queue-callback-function (status job) + (setq url-queue (delq job url-queue)) (when (and (eq (car status) :error) (eq (cadr (cadr status)) 'connection-failed)) ;; If we get a connection error, then flush all other jobs from @@ -116,7 +117,6 @@ The variable `url-queue-timeout' sets a timeout." ;; synchronously and totally halts Emacs. (url-queue-remove-jobs-from-host (plist-get (nthcdr 3 (cadr status)) :host))) - (setq url-queue (delq job url-queue)) (url-queue-run-queue) (apply (url-queue-callback job) (cons status (url-queue-cbargs job))))