diff options
Diffstat (limited to 'lisp/gnus/gnus-async.el')
-rw-r--r-- | lisp/gnus/gnus-async.el | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lisp/gnus/gnus-async.el b/lisp/gnus/gnus-async.el index e6fe2db3555..57f667c5e50 100644 --- a/lisp/gnus/gnus-async.el +++ b/lisp/gnus/gnus-async.el @@ -141,8 +141,15 @@ that was fetched." (cancel-timer 'gnus-async-timer))) (setq gnus-async-timer (run-with-idle-timer - 0.1 nil #'gnus-async-prefetch-article - group (gnus-data-number next) summary))))))) + 0.1 nil + (lambda () + ;; When running from a timer, `C-g' is inhibited. + ;; But the prefetch action may (when there's a + ;; network problem or the like) hang (or take a + ;; long time), so allow quitting anyway. + (let ((inhibit-quit nil)) + (gnus-async-prefetch-article + group (gnus-data-number next) summary)))))))))) (defun gnus-async-prefetch-article (group article summary &optional next) "Possibly prefetch several articles starting with ARTICLE." |