From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/62551 Path: news.gmane.org!not-for-mail From: Jouni K Seppanen Newsgroups: gmane.emacs.gnus.general Subject: nnimap doc patch Date: Thu, 06 Apr 2006 08:56:04 +0300 Message-ID: <294q17xn63.fsf@james.hut.fi> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1144341281 19149 80.91.229.2 (6 Apr 2006 16:34:41 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 6 Apr 2006 16:34:41 +0000 (UTC) Original-X-From: ding-owner+m11078@lists.math.uh.edu Thu Apr 06 18:34:38 2006 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FRXRE-0001la-Br for ding-account@gmane.org; Thu, 06 Apr 2006 18:34:29 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu ident=lists) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1FRXR8-0000jU-00; Thu, 06 Apr 2006 11:34:22 -0500 Original-Received: from nas01.math.uh.edu ([129.7.128.39]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1FRNTi-0007Dv-00 for ding@lists.math.uh.edu; Thu, 06 Apr 2006 00:56:22 -0500 Original-Received: from quimby.gnus.org ([80.91.224.244]) by nas01.math.uh.edu with esmtp (Exim 4.52) id 1FRNTd-0007GZ-Tu for ding@lists.math.uh.edu; Thu, 06 Apr 2006 00:56:22 -0500 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1FRNTc-0000cF-00 for ; Thu, 06 Apr 2006 07:56:16 +0200 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1FRNTa-0006ta-NI for ding@gnus.org; Thu, 06 Apr 2006 07:56:14 +0200 Original-Received: from james.hut.fi ([130.233.173.1]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 06 Apr 2006 07:56:14 +0200 Original-Received: from jks by james.hut.fi with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 06 Apr 2006 07:56:14 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-To: ding@gnus.org Original-Lines: 205 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: james.hut.fi Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAilBMVEWPd3I0Kx+Mb1t5XUV/ aWKukW9dRjBmTjyafW+hgWKCal7Bl3RhTDqTe2thSTByWUSXm3VeRzCdhnF9ZVhiTT2annd7YlKJ bVl3YFGAa2eWdViagmxrVkt8Zl9fSTWcel1YQy6boHaKc2yeg2+OcVyGbF6Ha1Wbj65nU0mehG67 k3BbRS+miGhnUUE1SAZ5AAACBElEQVRIx7XVwXqbMAwAYDcuMFepgI6QQhOM00RQ477/6+3gpJBY ZrtMNz70gyWQLYbHmMbDeBgPTVU1AxPi7qoZqx7nmBhzD0Z8jHEVhPmIaXeMgiOyUcVAUyKilHNm 2ZehWALEzAHYluqa6u9MKqtakiliw4MDZhbC2CBueZBiy+SDQsQDBxrccvlgETFlgOhxzwKQuKzi BzRb1DxwKeKRWVIZA5AtOzu/AUsVB2kIRpxsHEwBEFOkSQCQI2IIEGUM6JIBJ0wdgM5Jt9m1Fqe1 lp0GAIllABrswEo/PbkHnf8FcwctVwNuQVLS1pKI/BeWUuYynzCzqgzfMEw5OABIntzir3jqwarW QscU3fnnun4BoL+ursL3AGwJ4lH1lwBkq6B+C2qQ7Qr4nYRF/1Jr4JMB9dycANAbM0Dv8wBc3dyv WjDzMBetQFtQCub5uHAzffnJV5BbcFo5twqaW761Qf3Pa4CL5n8DzYLhvPhN7z/Fnt8qn6+3EyLa EBFREq7obvfW/1DC3YHyEsk/iwiIlX2MnnEvf+3RA2jOHKCTiB67xEwR6VdTCMGCU9IGYtPChzHG vIZAFEUC7cNo0xk8KIIBKowxDkDTwmjScAOFWAJRGOMBgL5ufaDJN+HDGGOMOS2BzzfulrknIrr1 7MvfLHZiBv4hO8d+CL+k3W4nhmH4A+ue3lwsh+WtAAAAAElFTkSuQmCC User-Agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.5 (chestnut, linux) Cancel-Lock: sha1:3GvXCo9b4Uv/1Vg2nIm44+4Deio= X-Spam-Score: -2.6 (--) Precedence: bulk Original-Sender: ding-owner@lists.math.uh.edu Xref: news.gmane.org gmane.emacs.gnus.general:62551 Archived-At: --=-=-= It seems that my doc patch from November <29hdb27qbn.fsf@itl-pc9.hut.fi> hasn't been applied. Was there some problem with it, or was it just forgotten? Here it is again: --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=nnimap-doc.patch Index: texi/gnus.texi =================================================================== RCS file: /usr/local/cvsroot/gnus/texi/gnus.texi,v retrieving revision 7.168 diff -u -r7.168 gnus.texi --- texi/gnus.texi 5 Apr 2006 16:40:48 -0000 7.168 +++ texi/gnus.texi 6 Apr 2006 05:53:22 -0000 @@ -2825,6 +2825,7 @@ @item auto-expire @cindex auto-expire +@cindex expiring mail If the group parameter has an element that looks like @code{(auto-expire . t)}, all articles read will be marked as expirable. For an alternative approach, @pxref{Expiring Mail}. @@ -2833,6 +2834,7 @@ @item total-expire @cindex total-expire +@cindex expiring mail If the group parameter has an element that looks like @code{(total-expire . t)}, all read articles will be put through the expiry process, even if they are not marked as expirable. Use with @@ -2842,7 +2844,7 @@ See also @code{gnus-total-expirable-newsgroups}. @item expiry-wait -@cindex expiry-wait +@vindex expiry-wait @vindex nnmail-expiry-wait-function If the group parameter has an element that looks like @code{(expiry-wait . 10)}, this value will override any @@ -2852,7 +2854,7 @@ symbols @code{never} or @code{immediate}. @item expiry-target -@cindex expiry-target +@vindex expiry-target Where expired messages end up. This parameter overrides @code{nnmail-expiry-target}. @@ -3462,6 +3464,7 @@ @item C-c C-x @kindex C-c C-x (Group) @findex gnus-group-expire-articles +@cindex expiring mail Run all expirable articles in the current group through the expiry process (if any) (@code{gnus-group-expire-articles}). That is, delete all expirable articles in the group that have been around for a while. @@ -3470,6 +3473,7 @@ @item C-c C-M-x @kindex C-c C-M-x (Group) @findex gnus-group-expire-all-groups +@cindex expiring mail Run all expirable articles in all groups through the expiry process (@code{gnus-group-expire-all-groups}). @@ -3830,6 +3834,7 @@ @item C-c C-x @kindex C-c C-x (Topic) @findex gnus-topic-expire-articles +@cindex expiring mail Run all expirable articles in the current group or topic through the expiry process (if any) (@code{gnus-topic-expire-articles}). (@pxref{Expiring Mail}). @@ -10113,6 +10118,7 @@ @item B e @kindex B e (Summary) @findex gnus-summary-expire-articles +@cindex expiring mail Run all expirable articles in the current group through the expiry process (@code{gnus-summary-expire-articles}). That is, delete all expirable articles in the group that have been around for a while. @@ -10121,6 +10127,7 @@ @item B C-M-e @kindex B C-M-e (Summary) @findex gnus-summary-expire-articles-now +@cindex expiring mail Delete all the expirable articles in the group (@code{gnus-summary-expire-articles-now}). This means that @strong{all} articles eligible for expiry in the current group will @@ -14674,6 +14681,7 @@ @node Expiring Mail @subsection Expiring Mail @cindex article expiry +@cindex expiring mail Traditional mail readers have a tendency to remove mail articles when you mark them as read, in some way. Gnus takes a fundamentally @@ -16628,6 +16636,7 @@ @item nnimap-expunge-search-string @cindex expunging @vindex nnimap-expunge-search-string +@cindex expiring @acronym{IMAP} mail This variable contain the @acronym{IMAP} search command sent to server when searching for articles eligible for expiring. The default is @@ -16639,6 +16648,10 @@ messages instead of the internal article date. See section 6.4.4 of RFC 2060 for more information on valid strings. +However, if @code{nnimap-search-uids-not-since-is-evil} +is true, the command is @code{"UID NOT SINCE @var{date}"}, +regardless of this variable. + @item nnimap-authinfo-file @vindex nnimap-authinfo-file @@ -16664,6 +16677,47 @@ seem to need this under some circumstances; it was reported that Courier 1.7.1 did. +@item nnimap-nov-is-evil +@vindex nnimap-nov-is-evil +@cindex Courier @acronym{IMAP} server +@cindex @acronym{NOV} + +Never generate or use a local @acronym{NOV} database. Defaults to the +value of @code{gnus-agent}. + +Using a @acronym{NOV} database usually makes header fetching much +faster, but it uses the @code{UID SEARCH UID} command, which is very +slow on some servers (notably some versions of Courier). Since the Gnus +Agent caches the information in the @acronym{NOV} database without using +the slow command, this variable defaults to true if the Agent is in use, +and false otherwise. + +@item nnimap-search-uids-not-since-is-evil +@vindex nnimap-search-uids-not-since-is-evil +@cindex Courier @acronym{IMAP} server +@cindex expiring @acronym{IMAP} mail + +Avoid the @code{UID SEARCH UID @var{message numbers} NOT SINCE +@var{date}} command, which is slow on some @acronym{IMAP} servers +(notably, some versions of Courier). Instead, use @code{UID SEARCH SINCE +@var{date}} and prune the list of expirable articles within Gnus. + +When Gnus expires your mail (@pxref{Expiring Mail}), it starts with a +list of expirable articles and asks the IMAP server questions like ``Of +these articles, which ones are older than a week?'' While this seems +like a perfectly reasonable question, some IMAP servers take a long time +to answer it, since they seemingly go looking into every old article to +see if it is one of the expirable ones. Curiously, the question ``Of +@emph{all} articles, which ones are newer than a week?'' seems to be +much faster to answer, so setting this variable causes Gnus to ask this +question and figure out the answer to the real question itself. + +This problem can really sneak up on you: when you first configure Gnus, +everything works fine, but once you accumulate a couple thousand +messages, you start cursing Gnus for being so slow. On the other hand, +if you get a lot of email within a week, setting this variable will +cause a lot of network traffic between Gnus and the IMAP server. + @end table @menu @@ -16851,7 +16905,7 @@ @node Expiring in IMAP @subsection Expiring in IMAP -@cindex expiring imap mail +@cindex expiring @acronym{IMAP} mail Even though @code{nnimap} is not a proper @code{nnmail} derived back end, it supports most features in regular expiring (@pxref{Expiring @@ -16870,6 +16924,9 @@ your server must support permanent storage of client specific flags on messages. Most do, fortunately. +If expiring @acronym{IMAP} mail seems very slow, try setting the server +variable @code{nnimap-search-uids-not-since-is-evil}. + @table @code @item nnmail-expiry-wait @@ -19154,7 +19211,7 @@ @findex gnus-agent-expire-group @cindex agent expiry @cindex Gnus agent expiry -@cindex expiry +@cindex expiry, in Gnus agent The Agent back end, @code{nnagent}, doesn't handle expiry. Well, at least it doesn't handle it like other back ends. Instead, there are --=-=-= -- Jouni --=-=-=--