From 668f59da7b58e6c24b3bac7f6b5e02103d32363a Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen Date: Wed, 2 Dec 2020 15:52:25 -0800 Subject: [PATCH] Restore nnimap-split-download-body as a customization option * lisp/gnus/nnimap.el (nnimap-split-download-body): And add an obsolete alias for `nnimap-split-download-body-default'. (nnimap-fetch-inbox): Check the value of the option, not the variable. * doc/misc/gnus.texi (Client-Side IMAP Splitting): Move the primary documentation of this option to this section. --- doc/misc/gnus.texi | 16 +++++++++------- lisp/gnus/nnimap.el | 15 +++++++++++---- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 81ce13945c..4aa07ce388 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -14521,6 +14521,14 @@ Client-Side IMAP Splitting @end table +@vindex nnimap-split-download-body +By default, the nnimap back end only retrieves the message headers; +the option @code{nnimap-split-download-body} (which is a regular +customization option, not a server variable) tells it to retrieve the +message bodies as well. We don't set this by default because it will +slow @acronym{IMAP} down, and that is not an appropriate decision to +make on behalf of the user. + Here's a complete example @code{nnimap} backend with a client-side ``fancy'' splitting method: @@ -24622,13 +24630,7 @@ Filtering Incoming Mail Note for IMAP users: if you use the @code{spam-check-bogofilter}, @code{spam-check-ifile}, and @code{spam-check-stat} spam back ends, you should also set the variable @code{nnimap-split-download-body} to -@code{t}. These spam back ends are most useful when they can ``scan'' -the full message body. By default, the nnimap back end only retrieves -the message headers; @code{nnimap-split-download-body} tells it to -retrieve the message bodies as well. We don't set this by default -because it will slow @acronym{IMAP} down, and that is not an -appropriate decision to make on behalf of the user. @xref{Client-Side -IMAP Splitting}. +@code{t}. @xref{Client-Side IMAP Splitting}. You have to specify one or more spam back ends for @code{spam-split} to use, by setting the @code{spam-use-*} variables. @xref{Spam Back diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 7984998d21..e7f9451986 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -146,13 +146,20 @@ nnimap-request-articles-find-limit :version "24.4" :group 'nnimap) +(defcustom nnimap-split-download-body nil + "If non-nil, make message bodies available for consideration during splitting. +This requires downloading the full message from the IMAP server +during splitting, which may be slow." + :type 'boolean) + +(define-obsolete-variable-alias + 'nnimap-split-download-body-default 'nnimap-split-download-body + "28.1") + (defvar nnimap-process nil) (defvar nnimap-status-string "") -(defvar nnimap-split-download-body-default nil - "Internal variable with default value for `nnimap-split-download-body'.") - (defvar nnimap-keepalive-timer nil) (defvar nnimap-process-buffers nil) @@ -2100,7 +2107,7 @@ nnimap-fetch-inbox "BODY.PEEK" "RFC822.PEEK")) (cond - (nnimap-split-download-body-default + (nnimap-split-download-body "[]") ((nnimap-ver4-p) "[HEADER]") -- 2.29.2