changeset 73814:22da3e31207f

(url-retrieve-synchronously): Allow quitting when inhibit-quit is t.
author Magnus Henoch <mange@freemail.hu>
date Wed, 08 Nov 2006 00:12:52 +0000
parents ceca912e4479
children 4611ce5e14a3
files lisp/url/url.el
diffstat 1 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/url/url.el	Tue Nov 07 17:39:15 2006 +0000
+++ b/lisp/url/url.el	Wed Nov 08 00:12:52 2006 +0000
@@ -246,10 +246,16 @@
             ;; interrupt it before it got a chance to handle process input.
             ;; `sleep-for' was tried but it lead to other forms of
             ;; hanging.  --Stef
-            (unless (or (accept-process-output proc) (null proc))
+            (unless (or (with-local-quit 
+			  (accept-process-output proc))
+			(null proc))
               ;; accept-process-output returned nil, maybe because the process
-              ;; exited (and may have been replaced with another).
-              (setq proc (get-buffer-process asynch-buffer))))))
+              ;; exited (and may have been replaced with another).  If we got
+	      ;; a quit, just stop.
+	      (when quit-flag
+		(delete-process proc))
+              (setq proc (and (not quit-flag)
+			      (get-buffer-process asynch-buffer)))))))
       asynch-buffer)))
 
 (defun url-mm-callback (&rest ignored)