From: yamaoka Date: Wed, 22 Jan 2003 07:47:43 +0000 (+0000) Subject: Synch with Oort Gnus. X-Git-Tag: t-gnus-6_15_15-00-quimby~15 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=8bb96cf78ad4baa0396338b572ad5da820645b6e;p=elisp%2Fgnus.git- Synch with Oort Gnus. --- diff --git a/texi/ChangeLog b/texi/ChangeLog index b0b11cb..bfe9c8b 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,19 @@ +2003-01-22 Kevin Greiner + + * gnus.texi (Agent Regeneration): New node. + (gnus-select-article-hook): clarified. + (gnus-downloaded-mark): Added definition. + (gnus-undownloaded-mark): Updated definition to reference the new + %O spec. + (gnus-agent-catchup): Identified articles that are NOT marked as read. + (gnus-agent-fetch-group): New command. + (gnus-agent-fetch-series): New command. + (Agent Expiry): Added comment to document that + gnus-request-expire-articles may invoke gnus-agent-expire. + (gnus-agent-mark-unread-after-downloaded): New variable. + (gnus-agent-consider-all-articles): New variable. + (gnus-agent-max-fetch-size): New variable. + 2003-01-22 Jesper Harder * gnusref.tex (subsection*{Notes}): do. diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 59b3d6c..02e40b1 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -859,6 +859,7 @@ Gnus Unplugged * Agent Commands:: $B3F%P%C%U%!!<$G$N?7$7$$L?Na(B * Agent as Cache:: $B%(!<%8%'%s%H$OBg$-$J%-%c%C%7%e$G$b$"$k(B * Agent Expiry:: $B8E$$5-;v$r>C$9J}K!(B +* Agent Regeneration:: $BDL?.@ZCG$dB>$N;v8N$+$i2sI|$9$kJ}K!(B * Agent and IMAP:: $B%(!<%8%'%s%H$r(B IMAP $B$G;H$&J}K!(B * Outgoing Messages:: $BEj9F!"%a!<%k$r=P$9$H$-$K$J$K$,5/$3$k$N$+(B? * Agent Variables:: $B%+%9%?%^%$%:$O3Z$7(B @@ -876,9 +877,9 @@ Agent Categories Agent Commands -* Group Agent Commands:: -* Summary Agent Commands:: -* Server Agent Commands:: +* Group Agent Commands:: $B%0%k!<%W$N@_Dj$H$=$l$i$NFbMF$NH$7$F2<$5$$!#(B @item gnus-select-article-hook @vindex gnus-select-article-hook $B$3$N%U%C%/$O5-;v$,A*Br$5$l$?$H$-$K>o$K8F$P$l$^$9!#=i4|@_Dj$G$O!"A*Br$5$l(B -$B$?5-;v$N2<$K1#$l$F$$$k%9%l%C%I$r8+$;$k$h$&$K$J$C$F$$$^$9!#%(!<%8%'%s%H$,(B -$B$9$Y$F$N4{FI$N5-;v$r%;!<%V$9$k$h$&$K$5$;$?$$>l9g$O!"$3$N%U%C%/(B -$B$K(B @code{gnus-agent-fetch-selected-article} $B$rDI2C$9$k$3$H$G!"$=$l$r$9$k(B -$B$O$:$G$9!#(B +$B$?5-;v$N2<$K1#$l$F$$$k%9%l%C%I$r8+$;$k$h$&$K$J$C$F$$$^$9!#$"$J$?$,FI$s$@(B +$B$=$l$>$l$N5-;v$r%(!<%8%'%s%H$K%;!<%V$5$;$?$$>l9g$O!"$3$N%U%C%/(B +$B$K(B @code{gnus-agent-fetch-selected-article} $B$rDI2C$9$k$3$H$G!"$=$l$r9T$J(B +$B$&$G$7$g$&!#(B @item gnus-mark-article-hook @vindex gnus-mark-article-hook @@ -5739,12 +5740,20 @@ gnus $B<+BN$O2D;k5-;v$r4|8B@Z$l>C5n$7$^$;$s(B) $B$N$G!"1J1s$K5-;v$rJ]B8$7$F$* $B$9(B (@code{gnus-unseen-mark})$B!#(B@code{gnus-recent-mark} $B$H8+Hf$Y$F2<$5$$!#(B @item +@vindex gnus-downloaded-mark +gnus $B%(!<%8%'%s%H(B @pxref{Agent Basics} $B$r;H$C$F$$$k$H$-!"5-;v(B +$B$O(B unplugged ($B%*%U%i%$%s(B) $B$G8+$k$?$a$K%@%&%s%m!<%I$5$l$F$$$k$+$b$7$l$^$;(B +$B$s!#(B@samp{%O} $B$N;EMM$r;H$C$F$$$k$H!"$=$l$i$N5-;v$K$O$=$N;EMM(B +$B$K(B @samp{+} $B$N0u$,IU$-$^$9!#(B($BJQ?t(B @code{gnus-downloaded-mark} $B$G$I$NJ8;z(B +$B$r;H$&$+$r@)8f$7$^$9!#(B) + +@item @vindex gnus-undownloaded-mark gnus $B%(!<%8%'%s%H(B @pxref{Agent Basics} $B$r;H$C$F$$$k$H$-!"$$$/$D$+$N5-;v(B -$B$O%@%&%s%m!<%I$5$l$F$$$J$$$+$b$7$l$^$;$s!#%*%U%i%$%s(B (unplugged) $B$N>uBV(B -$B$G$O$=$N$h$&$J5-;v$r8+$k$3$H$,$G$-$^$;$s!#$=$l$i$N5-;v$K$O:G=i$N7e(B -$B$K(B @samp{@@} $B$N0u$,IU$-$^$9!#(B($BJQ?t(B @code{gnus-undownloaded-mark} $B$G$I$N(B -$BJ8;z$r;H$&$+$r@)8f$7$^$9!#(B) +$B$O%@%&%s%m!<%I$5$l$F$$$J$$$+$b$7$l$^$;$s!#(BUnplugged ($B%*%U%i%$%s(B) $B$N>uBV(B +$B$G$O$=$N$h$&$J5-;v$r8+$k$3$H$,$G$-$^$;$s!#(B@samp{%O} $B$N;EMM$r;H$C$F$$$k$H!"(B +$B$=$l$i$N5-;v$K$O$=$N;EMM$K(B @samp{-} $B$N0u$,IU$-$^$9!#(B($BJQ(B +$B?t(B @code{gnus-undownloaded-mark} $B$G$I$NJ8;z$r;H$&$+$r@)8f$7$^$9!#(B) @item @vindex gnus-downloadable-mark @@ -5963,13 +5972,10 @@ gnus $B%(!<%8%'%s%H(B @pxref{Agent Basics} $B$O$$$/$D$+$N5-;v$r<+F0E*$K%@%&%s @itemx # @kindex # ($B35N,(B) @kindex M P p ($B35N,(B) -@findex gnus-pick-unmark-article-or-thread -$B%9%l%C%I$+5-;v$rL$A*Br$K$7$^(B -$B$9(B (@code{gnus-pick-unmark-article-or-thread})$B!#JQ(B -$B?t(B @code{gnus-thread-hide-subtree} $B$,(B true $B$G$"$l$P!"$3$N%-!<$O%9%l%C%I(B -$B$N:G=i$N5-;v$G;H$o$l$?$H$-$O%9%l%C%I$rL$A*Br$K$7$^$9!#$=$&$G$J$$>l9g$O!"(B -$B$=$N5-;v$@$1$rL$A*Br$K$7$^$9!#$=$N9T$N%9%l%C%I$+5-;v$rL$A*Br$K$9$k$?$a$K(B -$B$3$N%-!<$K?tCM@\F,0z?t$rM?$($k;v$,$G$-$^$9!#(B +@findex gnus-summary-mark-as-processable +$B8=:_$N5-;v$K%W%m%;%90u$rIU$1$^(B +$B$9(B (@code{gnus-summary-mark-as-processable})$B!#(B +@findex gnus-summary-unmark-as-processable @item M P u @itemx M-# @@ -16103,8 +16109,8 @@ Namazu $B$r;H$C$F!"%a!<%k$N;3$+$i$"$J$?$N9%$-$J%-!<%o!<%I$r4^$`5-;v$r8+(B $B:G=i$KHa$7$$$*CN$i$;$,$R$H$D!#(B@file{gnus-namazu.el} $B$O!"8=;~E@$G$O!"(B @code{nnml} $B%P%C%/%(%s%I$"$k$$$O(B @code{nnmh} $B%P%C%/%(%s%I$K$h$C$FJ]B8(B $B$5$l$F$$$k5-;v$H!"(B@code{gnus-cache-enter-article} $B$K$h$C$F1JB32=$5$l$?(B -$B5-;v$7$+!"$7$F!"$^$:!"(BNamazu $B$r;H$($k$h$&$K$7$^$7$g$&!#>\$7$$(B $B$3$H$O!"C$9J}K!(B +* Agent Regeneration:: $BDL?.@ZCG$dB>$N;v8N$+$i2sI|$9$kJ}K!(B * Agent and IMAP:: $B%(!<%8%'%s%H$r(B IMAP $B$G;H$&J}K!(B * Outgoing Messages:: $BEj9F!"%a!<%k$r=P$9$H$-$K$J$K$,5/$3$k$N$+(B? * Agent Variables:: $B%+%9%?%^%$%:$O3Z$7(B @@ -16682,9 +16689,9 @@ file $B$GF0:n$7!"(Bgnus $B%(!<%8%'%s%H$N@Z$jN%$7(B/$B:9$79~$_>uBV$r@Z$jBX$($^$9!#(B @menu -* Group Agent Commands:: -* Summary Agent Commands:: -* Server Agent Commands:: +* Group Agent Commands:: $B%0%k!<%W$N@_Dj$H$=$l$i$NFbMF$N$^$7$$5-;v(B (@pxref{Agent Categories} $B;2>H(B) $B$r%@(B +$B%&%s%m!<%I$9$k!#(B(@code{gnus-agent-fetch-group})$B!#(B + +@item J s +@kindex J s ($B%(!<%8%'%s%H(B $B35N,(B) +@findex gnus-agent-fetch-series +$B$3$N%0%k!<%W$N$9$Y$F$N%W%m%;%90u$,IU$$$?5-;v$r%@%&%s%m!<%I$9$k!#(B +(@code{gnus-agent-fetch-series})$B!#(B @item J u @kindex J u ($B%(!<%8%'%s%H(B $B35N,(B) @findex gnus-agent-summary-fetch-group -$B8=:_$N%0%k!<%W$N%@%&%s%m!<%I2DG=$J5-;v$r!"$9$Y$F%@%&%s%m!<%I$7$^(B -$B$9(B (@code{gnus-agent-summary-fetch-group})$B!#(B +$B8=:_$N%0%k!<%W$N%@%&%s%m!<%I2DG=$J5-;v$r!"$9$Y$F%@%&%s%m!<%I$9(B +$B$k(B (@code{gnus-agent-summary-fetch-group})$B!#(B @end table @node Server Agent Commands @@ -16816,6 +16836,10 @@ gnus $B$,(B @dfn{plugged} $B$G$"$k$H$-$K!"$9$G$K%(!<%8%'%s%H$K3JG<$5$l$F$$$k% $BE*$G$b$J$/!"0lC6;O$a$F$7$^$C$?$i(B (@kbd{C-g} $B$d$=$NB>$G(B) $BCfCG$9$k$3$H$b$"(B $B$^$jNI$$$3$H$G$O$"$j$^$;$s!#(B +$BNc$($P(B @code{gnus-request-expire-articles} $B$N$h$&$JB>$N4X?t$O!"%(!<%8%'(B +$B%s%H$r%0%k!<%W$KF14|$5$;$k$?$a$K(B @code{gnus-agent-expire} $B$r$K%^%C%A$7!"0[$J$k%0%k!<%W$G0[$J$k4|8B@Z$l(B $B>C5n$r9T$J$&$3$H$r2DG=$K$7$^$9!#(B @@ -16828,7 +16852,8 @@ gnus $B$,(B @dfn{plugged} $B$G$"$k$H$-$K!"$9$G$K%(!<%8%'%s%H$K3JG<$5$l$F$$$k% @end lisp $B$b$7%j%9%H$N7A<0$r;H$&>l9g$O!":G8e$NMWAG$O%G%#%U%)%k%H$N%a%=%C%I!"$9$J$o(B -$B$A$9$Y$F$N%0%k!<%W$K%^%C%A$9$k$b$N$K$7$J$1$l$P$J$j$^$;$s!#(B +$B$A$9$Y$F$N%0%k!<%W$K%^%C%A$9$k$b$N$K$7$J$1$l$P$J$j$^$;$s!#@55,I=8=$K4X$7(B +$B$F!"$5$i$K$=$l$O%0%k!<%WL>$N@hF,$+$i%^%C%A$7$J$1$l$P$J$j$^$;$s!#(B @vindex gnus-agent-expire-all @code{gnus-agent-expire-all} $B$,(B @code{nil} $B$G$J$1$l$P!"$3$NL?Na$OA4$F$N(B @@ -16836,12 +16861,47 @@ gnus $B$,(B @dfn{plugged} $B$G$"$k$H$-$K!"$9$G$K%(!<%8%'%s%H$K3JG<$5$l$F$$$k% $B=i4|@_DjCM(B) $B$G$"$l$P!"4{FI5-;v$N$_$,>C5n$NBP>]$H$J$j!"L$FI!"2D;k!"J]N15-(B $B;v$O$5$i$KL54|8B$KJ];}$7$^$9!#(B -@findex gnus-agent-regenerate $B4|8B@Z$l>C5n$5$l$F$$$k$O$:$J$N$K;D$C$F$$$k5-;v$r8+$D$1$?$J$i$P!"$?$V$s$$(B $B$/$D$+$N(B gnus $B%(!<%8%'%s%H%U%!%$%k$,2u$l$F$$$^$9!#(B @code{gnus-agent-regenerate} $B$O!"5/$3$j$&$kLdBj$r=$I|$9$k$?$a$NFCJL$J%3(B $B%^%s%I$G$9!#(B +@c TRANSLATEME! +@node Agent Regeneration +@subsection Agent Regeneration + +@cindex Agent Regeneration +@cindex Gnus Agent Regeneration +@cindex regeneration + +The local data structures used by @code{nnagent} may become corrupted +due to certain exceptional conditions. When this happens, +@code{nnagent} functionality may degrade or even fail. The solution +to this problem is to repair the local data structures by removing all +internal inconsistencies. + +For example, if your connection to your server is lost while +downloaded articles into the agent, the local data structures will not +know about articles downloaded prior to the connection failure. +Running @code{gnus-agent-regenerate} or +@code{gnus-agent-regenerate-group} will update the data structures +such that you don't need to download these articles a second time. + +@findex gnus-agent-regenerate +@kindex M-x gnus-agent-regenerate +The command @code{gnus-agent-regenerate} will perform +@code{gnus-agent-regenerate-group} on every agentized group. While +you can run @code{gnus-agent-regenerate} in any buffer, it is strongly +recommended that you first close all summary buffers. + +@findex gnus-agent-regenerate-group +@kindex M-x gnus-agent-regenerate-group +The command @code{gnus-agent-regenerate-group} uses the local copies +of individual articles to repair the local NOV(header) database. It +then updates the internal data structures that document which articles +are stored locally. An optional argument will mark articles in the +agent as unread. + @node Agent and IMAP @subsection $B%(!<%8%'%s%H$r(B IMAP $B$G;H$&J}K!(B @@ -16949,6 +17009,31 @@ plugged $B$N$H$-$K!"%m!<%+%k$K;}$C$F$$$k(B @sc{nov} $B$H5-;v$r;H$&$+$I$&$+$r@ $B%P!<$r%*%s%i%$%s>uBV$K$9$k$+$I$&$+$r?R$M$^$9!#$=$l0J30$NCM$@$C$?$i!"%*%U(B $B%i%$%s>uBV$N%5!<%P!<$O<+F0E*$K%*%s%i%$%s>uBV$K$J$j$^$9!#(B +@c TRANSLATEME! +@item gnus-agent-mark-unread-after-downloaded +@vindex gnus-agent-mark-unread-after-downloaded +If @code{gnus-agent-mark-unread-after-downloaded} is non-@code{nil}, +mark articles as unread after downloading. The default is t. + +@item gnus-agent-consider-all-articles +@vindex gnus-agent-consider-all-articles +If @code{gnus-agent-consider-all-articles} is non-@code{nil}, the +agent will fetch all missing headers. When @code{nil}, the agent will +fetch only new headers. The default is @code{nil}. + +@item gnus-agent-max-fetch-size +@vindex gnus-agent-max-fetch-size +The agent fetches articles into a temporary buffer prior to parsing +them into individual files. To avoid exceeding the max. buffer size, +the agent alternates between fetching and parsing until all articles +have been fetched. @code{gnus-agent-max-fetch-size} provides a size +limit to control how often the cycling occurs. A large value improves +performance. A small value minimizes the time lost should the +connection be lost while fetching (You may need to run +@pxref{gnus-agent-regenerate-group} to update the group's state. +However, all articles parsed prior to loosing the connection will be +available while unplugged). + @item gnus-server-unopen-status @vindex gnus-server-unopen-status $B$?$V$s%(!<%8%'%s%HJQ?t$G$O$J$$$,%(!<%8%'%s%H$KL)@\$K4XO"$9$k$3$NJQ?t$O!"(B @@ -17128,8 +17213,8 @@ Gnus Agent $B$O$h$/$"$kB>$N%*%U%i%$%s%K%e!<%9%j!<%@!<$N$h$&$K$OF0:n$7$^$;(B @end table $BMWLs$9$k$H!"(Bgnus $B$,@Z$jN%$5$l$F$$$k$H$-$O%m!<%+%k$KJ]B8$5$l$?5-;v$r8+$k(B -$B$@$1$G$9!#@\B3$5$l$F$$$k$H$-$O(B ISP $B$HOC$9$@$1$G!"$+$D%m!<%+%k$K;}$C$F$$(B -$B$k5-;v$r;H$$$^$9!#(B +$B$@$1$G$9!#@\B3$5$l$F$$$k$H$-$O(B ISP $B$HOC$7!"$+$D%m!<%+%k$K;}$C$F$$$k5-;v(B +$B$b;H$&$+$b$7$l$^$;$s!#(B @node Scoring @chapter $B%9%3%"(B diff --git a/texi/gnus.texi b/texi/gnus.texi index 81a7e9d..3105680 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -760,6 +760,7 @@ Gnus Unplugged * Agent Commands:: New commands for all the buffers. * Agent as Cache:: The Agent is a big cache too. * Agent Expiry:: How to make old articles go away. +* Agent Regeneration:: How to recover from lost connections and other accidents. * Agent and IMAP:: How to use the Agent with IMAP. * Outgoing Messages:: What happens when you post/mail something? * Agent Variables:: Customizing is fun. @@ -775,9 +776,9 @@ Agent Categories Agent Commands -* Group Agent Commands:: -* Summary Agent Commands:: -* Server Agent Commands:: +* Group Agent Commands:: Configure groups and fetch their contents. +* Summary Agent Commands:: Manually select then fetch specific articles. +* Server Agent Commands:: Select the servers that are supported by the agent. Scoring @@ -5024,9 +5025,9 @@ the server and display it in the article buffer. @item gnus-select-article-hook @vindex gnus-select-article-hook This hook is called whenever an article is selected. By default it -exposes any threads hidden under the selected article. If you wish -that the Agent saves all articles you read, putting -@code{gnus-agent-fetch-selected-article} on this hook should do it. +exposes any threads hidden under the selected article. If you would +like each article to be saved in the Agent as you read it, putting +@code{gnus-agent-fetch-selected-article} on this hook will do so. @item gnus-mark-article-hook @vindex gnus-mark-article-hook @@ -5754,12 +5755,20 @@ with a @samp{.} in the second column (@code{gnus-unseen-mark}). Compare with @code{gnus-recent-mark}. @item +@vindex gnus-downloaded-mark +When using the Gnus agent @pxref{Agent Basics}, articles may be +downloaded for unplugged (offline) viewing. If you are using the +@samp{%O} spec, these articles get the @samp{+} mark in that spec. +(The variable @code{gnus-downloaded-mark} controls which character to +use.) + +@item @vindex gnus-undownloaded-mark -When using the Gnus agent @pxref{Agent Basics}, some articles might not -have been downloaded. Such articles cannot be viewed while you are -offline (unplugged). These articles get the @samp{@@} mark in the -first column. (The variable @code{gnus-undownloaded-mark} controls -which character to use.) +When using the Gnus agent @pxref{Agent Basics}, some articles might +not have been downloaded. Such articles cannot be viewed while you +are unplugged (offline). If you are using the @samp{%O} spec, these +articles get the @samp{-} mark in that spec. (The variable +@code{gnus-undownloaded-mark} controls which character to use.) @item @vindex gnus-downloadable-mark @@ -16590,6 +16599,7 @@ Of course, to use it as such, you have to learn a few new commands. * Agent Commands:: New commands for all the buffers. * Agent as Cache:: The Agent is a big cache too. * Agent Expiry:: How to make old articles go away. +* Agent Regeneration:: How to recover from lost connections and other accidents. * Agent and IMAP:: How to use the Agent with IMAP. * Outgoing Messages:: What happens when you post/mail something? * Agent Variables:: Customizing is fun. @@ -17075,9 +17085,9 @@ toggles the plugged/unplugged state of the Gnus Agent. @menu -* Group Agent Commands:: -* Summary Agent Commands:: -* Server Agent Commands:: +* Group Agent Commands:: Configure groups and fetch their contents. +* Summary Agent Commands:: Manually select then fetch specific articles. +* Server Agent Commands:: Select the servers that are supported by the agent. @end menu @@ -17159,7 +17169,19 @@ default. @item J c @kindex J c (Agent Summary) @findex gnus-agent-catchup -Mark all undownloaded articles as read (@code{gnus-agent-catchup}). +Mark all articles as read (@code{gnus-agent-catchup}) that are neither cached, downloaded, nor downloadable. + +@item J S +@kindex J S (Agent Summary) +@findex gnus-agent-fetch-group +Download all eligible (See @pxref{Agent Categories}) articles in this group. +(@code{gnus-agent-fetch-group}). + +@item J s +@kindex J s (Agent Summary) +@findex gnus-agent-fetch-series +Download all processable articles in this group. +(@code{gnus-agent-fetch-series}). @item J u @kindex J u (Agent Summary) @@ -17222,6 +17244,10 @@ whenever you feel that you're running out of space. It's not particularly fast or efficient, and it's not a particularly good idea to interrupt it (with @kbd{C-g} or anything else) once you've started it. +Note that other functions, e.g. @code{gnus-request-expire-articles}, +might run @code{gnus-agent-expire} for you to keep the agent +synchronized with the group. + @code{gnus-agent-expire-days} can also be a list of regexp/day pairs. The regexps will be matched against group names to allow differing expiry in different groups. @@ -17234,7 +17260,8 @@ expiry in different groups. @end lisp If you use the list form, the last element must always be the default -method---it must always match all groups. +method---it must always match all groups. Also, for a regexp to match, +it must match from the beginning of the group's name. @vindex gnus-agent-expire-all If @code{gnus-agent-expire-all} is non-@code{nil}, this command will @@ -17242,15 +17269,49 @@ expire all articles---unread, read, ticked and dormant. If @code{nil} (which is the default), only read articles are eligible for expiry, and unread, ticked and dormant articles will be kept indefinitely. -@findex gnus-agent-regenerate If you find that some articles eligible for expiry are never expired, perhaps some Gnus Agent files are corrupted. There's a special -@code{gnus-agent-regenerate} command to fix possible problems. +@pxref{gnus-agent-regenerate} command to fix possible problems. + +@node Agent Regeneration +@subsection Agent Regeneration + +@cindex Agent Regeneration +@cindex Gnus Agent Regeneration +@cindex regeneration + +The local data structures used by @code{nnagent} may become corrupted +due to certain exceptional conditions. When this happens, +@code{nnagent} functionality may degrade or even fail. The solution +to this problem is to repair the local data structures by removing all +internal inconsistencies. + +For example, if your connection to your server is lost while +downloaded articles into the agent, the local data structures will not +know about articles downloaded prior to the connection failure. +Running @code{gnus-agent-regenerate} or +@code{gnus-agent-regenerate-group} will update the data structures +such that you don't need to download these articles a second time. + +@findex gnus-agent-regenerate +@kindex M-x gnus-agent-regenerate +The command @code{gnus-agent-regenerate} will perform +@code{gnus-agent-regenerate-group} on every agentized group. While +you can run @code{gnus-agent-regenerate} in any buffer, it is strongly +recommended that you first close all summary buffers. + +@findex gnus-agent-regenerate-group +@kindex M-x gnus-agent-regenerate-group +The command @code{gnus-agent-regenerate-group} uses the local copies +of individual articles to repair the local NOV(header) database. It +then updates the internal data structures that document which articles +are stored locally. An optional argument will mark articles in the +agent as unread. @node Agent and IMAP @subsection Agent and IMAP -The Agent work with any Gnus back end, including nnimap. However, +The Agent works with any Gnus back end, including nnimap. However, since there are some conceptual differences between @sc{nntp} and @sc{imap}, this section (should) provide you with some information to make Gnus Agent work smoother as a @sc{imap} Disconnected Mode client. @@ -17357,6 +17418,30 @@ offline servers into online status when you re-connect. If it has any other value, all offline servers will be automatically switched into online status. +@item gnus-agent-mark-unread-after-downloaded +@vindex gnus-agent-mark-unread-after-downloaded +If @code{gnus-agent-mark-unread-after-downloaded} is non-@code{nil}, +mark articles as unread after downloading. The default is t. + +@item gnus-agent-consider-all-articles +@vindex gnus-agent-consider-all-articles +If @code{gnus-agent-consider-all-articles} is non-@code{nil}, the +agent will fetch all missing headers. When @code{nil}, the agent will +fetch only new headers. The default is @code{nil}. + +@item gnus-agent-max-fetch-size +@vindex gnus-agent-max-fetch-size +The agent fetches articles into a temporary buffer prior to parsing +them into individual files. To avoid exceeding the max. buffer size, +the agent alternates between fetching and parsing until all articles +have been fetched. @code{gnus-agent-max-fetch-size} provides a size +limit to control how often the cycling occurs. A large value improves +performance. A small value minimizes the time lost should the +connection be lost while fetching (You may need to run +@pxref{gnus-agent-regenerate-group} to update the group's state. +However, all articles parsed prior to loosing the connection will be +available while unplugged). + @item gnus-server-unopen-status @vindex gnus-server-unopen-status Perhaps not a Agent variable, but closely related to the Agent, this @@ -17453,7 +17538,7 @@ may ask: @end table In short, when Gnus is unplugged, it only looks into the locally stored -articles; when it's plugged, it only talks to your ISP and also uses the +articles; when it's plugged, it talks to your ISP and may also use the locally stored articles.