X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-async.el;h=a2ab54bea8b43a9d4ab4d71999156466dad26c27;hb=74a489ff1213794152d6e13f7a11e16c89f62602;hp=1e9c1dff77f3b5fd8d0565a5ef5184393200d6b6;hpb=c9a393eeb329a99695566342a9f03b8a30000898;p=gnus diff --git a/lisp/gnus-async.el b/lisp/gnus-async.el index 1e9c1dff7..a2ab54bea 100644 --- a/lisp/gnus-async.el +++ b/lisp/gnus-async.el @@ -145,8 +145,7 @@ that was fetched." (when (and (gnus-buffer-live-p summary) gnus-asynchronous (gnus-group-asynchronous-p group)) - (save-excursion - (set-buffer gnus-summary-buffer) + (with-current-buffer gnus-summary-buffer (let ((next (caadr (gnus-data-find-list article)))) (when next (if (not (fboundp 'run-with-idle-timer)) @@ -205,8 +204,7 @@ that was fetched." (when (and do-fetch article) ;; We want to fetch some more articles. - (save-excursion - (set-buffer summary) + (with-current-buffer summary (let (mark) (gnus-async-set-buffer) (goto-char (point-max)) @@ -228,16 +226,22 @@ that was fetched." `(lambda (arg) (gnus-async-article-callback arg ,group ,article ,mark ,summary ,next))) +(eval-when-compile + (autoload 'gnus-html-prefetch-images "gnus-html")) + (defun gnus-async-article-callback (arg group article mark summary next) "Function called when an async article is done being fetched." (save-excursion (setq gnus-async-current-prefetch-article nil) (when arg (gnus-async-set-buffer) - (when gnus-async-post-fetch-function - (save-excursion - (save-restriction - (narrow-to-region mark (point-max)) + (save-excursion + (save-restriction + (narrow-to-region mark (point-max)) + ;; Prefetch images for the groups that want that. + (when (fboundp 'gnus-html-prefetch-images) + (gnus-html-prefetch-images summary)) + (when gnus-async-post-fetch-function (funcall gnus-async-post-fetch-function summary)))) (gnus-async-with-semaphore (setq