Index: emacs/lisp/url/url.el
diff -c emacs/lisp/url/url.el:1.8 emacs/lisp/url/url.el:1.9
*** emacs/lisp/url/url.el:1.8   Thu Jan 13 14:35:11 2005
--- emacs/lisp/url/url.el       Mon Apr 18 13:19:43 2005
***************
*** 180,194 ****
          (url-debug 'retrieval
                     "Spinning in url-retrieve-synchronously: %S (%S)"
                     retrieval-done asynch-buffer)
!         ;; We used to use `sit-for' here, but in some cases it wouldn't
!         ;; work because apparently pending keyboard input would always
!         ;; 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 (accept-process-output 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)))))
        asynch-buffer)))
  
  (defun url-mm-callback (&rest ignored)
--- 180,202 ----
          (url-debug 'retrieval
                     "Spinning in url-retrieve-synchronously: %S (%S)"
                     retrieval-done asynch-buffer)
!         (if (memq (process-status proc) '(closed exit signal failed))
!             ;; FIXME: It's not clear whether url-retrieve's callback is
!             ;; guaranteed to be called or not.  It seems that url-http
!             ;; decides sometimes consciously not to call it, so it's not
!             ;; clear that it's a bug, but even if we need to decide how
!             ;; url-http can then warn us that the download has completed.
!               ;; In the mean time, we use this here workaround.
!               (setq retrieval-done t)
!             ;; We used to use `sit-for' here, but in some cases it wouldn't
!             ;; work because apparently pending keyboard input would always
!             ;; 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 (accept-process-output 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))))))
        asynch-buffer)))
  
  (defun url-mm-callback (&rest ignored)


_______________________________________________
Emacs-diffs mailing list
Emacs-diffs@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-diffs

Reply via email to