summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-async.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-06-28 12:01:46 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-06-28 12:01:46 +0200
commita7682bce3cfc7661acf6f395c0558f2202b4d78d (patch)
tree363ce6284448645cf7ade92667a1f71ebe436259 /lisp/gnus/gnus-async.el
parentcb182ce6f8d2fa6e1509252fecc2b0e504e36d63 (diff)
downloademacs-a7682bce3cfc7661acf6f395c0558f2202b4d78d.tar.gz
Don't inhibit quit in Gnus when prefetching articles
* lisp/gnus/gnus-async.el (gnus-async-prefetch-next): Don't inhibit quit when running `gnus-async-prefetch-article'.
Diffstat (limited to 'lisp/gnus/gnus-async.el')
-rw-r--r--lisp/gnus/gnus-async.el11
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."