diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el index 01053797b3..3fe69ec471 100644 --- a/lisp/gnus/gnus-int.el +++ b/lisp/gnus/gnus-int.el @@ -522,12 +522,18 @@ gnus-close-group (defun gnus-retrieve-headers (articles group &optional fetch-old) "Request headers for ARTICLES in GROUP. If FETCH-OLD, retrieve all headers (or some subset thereof) in the group." - (let ((gnus-command-method (gnus-find-method-for-group group))) + (let* ((gnus-command-method (gnus-find-method-for-group group)) + (gnus-method-nov-is-evil (intern + (format "%s-nov-is-evil" + (car gnus-command-method))))) (cond ((and gnus-use-cache (numberp (car articles))) (gnus-cache-retrieve-headers articles group fetch-old)) ((and gnus-agent (gnus-online gnus-command-method) - (gnus-agent-method-p gnus-command-method)) + (gnus-agent-method-p gnus-command-method) + (not gnus-nov-is-evil) + (not (and (boundp gnus-method-nov-is-evil) + (symbol-value gnus-method-nov-is-evil)))) (gnus-agent-retrieve-headers articles group fetch-old)) (t (funcall (gnus-get-function gnus-command-method 'retrieve-headers)