From: Eric Abrahamsen Date: Wed, 2 Dec 2020 23:52:25 +0000 (-0800) Subject: Restore nnimap-split-download-body as a customization option X-Git-Tag: emacs-28.0.90~4940 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cff2f895c2e55161486a8011288171daae9ecccc;p=emacs.git 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. --- diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 81ce13945c1..4aa07ce3887 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -14521,6 +14521,14 @@ The default is @samp{(%Deleted %Seen)}. @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 @@ the value @samp{spam} means @samp{nnimap+your-server:spam}. The value 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 7984998d214..e7f94519866 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -146,13 +146,20 @@ textual parts.") :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 @@ Return the server's response to the SELECT or EXAMINE command." "BODY.PEEK" "RFC822.PEEK")) (cond - (nnimap-split-download-body-default + (nnimap-split-download-body "[]") ((nnimap-ver4-p) "[HEADER]")