Synch with Oort Gnus.
authoryamaoka <yamaoka>
Wed, 22 Jan 2003 07:47:43 +0000 (07:47 +0000)
committeryamaoka <yamaoka>
Wed, 22 Jan 2003 07:47:43 +0000 (07:47 +0000)
texi/ChangeLog
texi/gnus-ja.texi
texi/gnus.texi

index b0b11cb..bfe9c8b 100644 (file)
@@ -1,3 +1,19 @@
+2003-01-22  Kevin Greiner  <kgreiner@xpediantsolutions.com>
+
+       * 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  <harder@ifa.au.dk>
 
        * gnusref.tex (subsection*{Notes}): do.
index 59b3d6c..02e40b1 100644 (file)
@@ -859,6 +859,7 @@ Gnus Unplugged
 * Agent Commands::              \e$B3F%P%C%U%!!<$G$N?7$7$$L?Na\e(B
 * Agent as Cache::              \e$B%(!<%8%'%s%H$OBg$-$J%-%c%C%7%e$G$b$"$k\e(B
 * Agent Expiry::                \e$B8E$$5-;v$r>C$9J}K!\e(B
+* Agent Regeneration::          \e$BDL?.@ZCG$dB>$N;v8N$+$i2sI|$9$kJ}K!\e(B
 * Agent and IMAP::              \e$B%(!<%8%'%s%H$r\e(B IMAP \e$B$G;H$&J}K!\e(B
 * Outgoing Messages::           \e$BEj9F!"%a!<%k$r=P$9$H$-$K$J$K$,5/$3$k$N$+\e(B?
 * Agent Variables::             \e$B%+%9%?%^%$%:$O3Z$7\e(B
@@ -876,9 +877,9 @@ Agent Categories
 
 Agent Commands
 
-* Group Agent Commands::        
-* Summary Agent Commands::      
-* Server Agent Commands::       
+* Group Agent Commands::        \e$B%0%k!<%W$N@_Dj$H$=$l$i$NFbMF$N<hF@\e(B
+* Summary Agent Commands::      \e$B<jF0$GA*Br$7$?5-;v$r<hF@$9$k\e(B
+* Server Agent Commands::       \e$B%(!<%8%'%s%H$G%5%]!<%H$5$l$k%5!<%P!<$NA*Br\e(B
 
 Scoring
 
@@ -5038,10 +5039,10 @@ Summary Buffer} \e$B$r;2>H$7$F2<$5$$!#\e(B
 @item gnus-select-article-hook
 @vindex gnus-select-article-hook
 \e$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\e(B
-\e$B$?5-;v$N2<$K1#$l$F$$$k%9%l%C%I$r8+$;$k$h$&$K$J$C$F$$$^$9!#%(!<%8%'%s%H$,\e(B
-\e$B$9$Y$F$N4{FI$N5-;v$r%;!<%V$9$k$h$&$K$5$;$?$$>l9g$O!"$3$N%U%C%/\e(B
-\e$B$K\e(B @code{gnus-agent-fetch-selected-article} \e$B$rDI2C$9$k$3$H$G!"$=$l$r$9$k\e(B
-\e$B$O$:$G$9!#\e(B
+\e$B$?5-;v$N2<$K1#$l$F$$$k%9%l%C%I$r8+$;$k$h$&$K$J$C$F$$$^$9!#$"$J$?$,FI$s$@\e(B
+\e$B$=$l$>$l$N5-;v$r%(!<%8%'%s%H$K%;!<%V$5$;$?$$>l9g$O!"$3$N%U%C%/\e(B
+\e$B$K\e(B @code{gnus-agent-fetch-selected-article} \e$B$rDI2C$9$k$3$H$G!"$=$l$r9T$J\e(B
+\e$B$&$G$7$g$&!#\e(B
 
 @item gnus-mark-article-hook
 @vindex gnus-mark-article-hook
@@ -5739,12 +5740,20 @@ gnus \e$B<+BN$O2D;k5-;v$r4|8B@Z$l>C5n$7$^$;$s\e(B) \e$B$N$G!"1J1s$K5-;v$rJ]B8$7$F$*
 \e$B$9\e(B (@code{gnus-unseen-mark})\e$B!#\e(B@code{gnus-recent-mark} \e$B$H8+Hf$Y$F2<$5$$!#\e(B
 
 @item
+@vindex gnus-downloaded-mark
+gnus \e$B%(!<%8%'%s%H\e(B @pxref{Agent Basics} \e$B$r;H$C$F$$$k$H$-!"5-;v\e(B
+\e$B$O\e(B unplugged (\e$B%*%U%i%$%s\e(B) \e$B$G8+$k$?$a$K%@%&%s%m!<%I$5$l$F$$$k$+$b$7$l$^$;\e(B
+\e$B$s!#\e(B@samp{%O} \e$B$N;EMM$r;H$C$F$$$k$H!"$=$l$i$N5-;v$K$O$=$N;EMM\e(B
+\e$B$K\e(B @samp{+} \e$B$N0u$,IU$-$^$9!#\e(B(\e$BJQ?t\e(B @code{gnus-downloaded-mark} \e$B$G$I$NJ8;z\e(B
+\e$B$r;H$&$+$r@)8f$7$^$9!#\e(B)
+
+@item
 @vindex gnus-undownloaded-mark
 gnus \e$B%(!<%8%'%s%H\e(B @pxref{Agent Basics} \e$B$r;H$C$F$$$k$H$-!"$$$/$D$+$N5-;v\e(B
-\e$B$O%@%&%s%m!<%I$5$l$F$$$J$$$+$b$7$l$^$;$s!#%*%U%i%$%s\e(B (unplugged) \e$B$N>uBV\e(B
-\e$B$G$O$=$N$h$&$J5-;v$r8+$k$3$H$,$G$-$^$;$s!#$=$l$i$N5-;v$K$O:G=i$N7e\e(B
-\e$B$K\e(B @samp{@@} \e$B$N0u$,IU$-$^$9!#\e(B(\e$BJQ?t\e(B @code{gnus-undownloaded-mark} \e$B$G$I$N\e(B
-\e$BJ8;z$r;H$&$+$r@)8f$7$^$9!#\e(B)
+\e$B$O%@%&%s%m!<%I$5$l$F$$$J$$$+$b$7$l$^$;$s!#\e(BUnplugged (\e$B%*%U%i%$%s\e(B) \e$B$N>uBV\e(B
+\e$B$G$O$=$N$h$&$J5-;v$r8+$k$3$H$,$G$-$^$;$s!#\e(B@samp{%O} \e$B$N;EMM$r;H$C$F$$$k$H!"\e(B
+\e$B$=$l$i$N5-;v$K$O$=$N;EMM$K\e(B @samp{-} \e$B$N0u$,IU$-$^$9!#\e(B(\e$BJQ\e(B
+\e$B?t\e(B @code{gnus-undownloaded-mark} \e$B$G$I$NJ8;z$r;H$&$+$r@)8f$7$^$9!#\e(B)
 
 @item
 @vindex gnus-downloadable-mark
@@ -5963,13 +5972,10 @@ gnus \e$B%(!<%8%'%s%H\e(B @pxref{Agent Basics} \e$B$O$$$/$D$+$N5-;v$r<+F0E*$K%@%&%s
 @itemx #
 @kindex # (\e$B35N,\e(B)
 @kindex M P p (\e$B35N,\e(B)
-@findex gnus-pick-unmark-article-or-thread
-\e$B%9%l%C%I$+5-;v$rL$A*Br$K$7$^\e(B
-\e$B$9\e(B (@code{gnus-pick-unmark-article-or-thread})\e$B!#JQ\e(B
-\e$B?t\e(B @code{gnus-thread-hide-subtree} \e$B$,\e(B true \e$B$G$"$l$P!"$3$N%-!<$O%9%l%C%I\e(B
-\e$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!"\e(B
-\e$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\e(B
-\e$B$3$N%-!<$K?tCM@\F,0z?t$rM?$($k;v$,$G$-$^$9!#\e(B
+@findex gnus-summary-mark-as-processable
+\e$B8=:_$N5-;v$K%W%m%;%90u$rIU$1$^\e(B
+\e$B$9\e(B (@code{gnus-summary-mark-as-processable})\e$B!#\e(B
+@findex gnus-summary-unmark-as-processable
 
 @item M P u
 @itemx M-#
@@ -16103,8 +16109,8 @@ Namazu \e$B$r;H$C$F!"%a!<%k$N;3$+$i$"$J$?$N9%$-$J%-!<%o!<%I$r4^$`5-;v$r8+\e(B
 \e$B:G=i$KHa$7$$$*CN$i$;$,$R$H$D!#\e(B@file{gnus-namazu.el} \e$B$O!"8=;~E@$G$O!"\e(B
 @code{nnml} \e$B%P%C%/%(%s%I$"$k$$$O\e(B @code{nnmh} \e$B%P%C%/%(%s%I$K$h$C$FJ]B8\e(B
 \e$B$5$l$F$$$k5-;v$H!"\e(B@code{gnus-cache-enter-article} \e$B$K$h$C$F1JB32=$5$l$?\e(B
-\e$B5-;v$7$+!"<h$j07$&$3$H$,$G$-$^$;$s!#\e(B@code{nnimap} \e$B%P%C%/%(%s%I$d\e(B 
-@code{nnmbox} \e$B%P%C%/%(%s%I$r;H$C$F$$$k?M$O!"$4$a$s$J$5$$!#\e(B
+\e$B5-;v$7$+!"<h$j07$&$3$H$,$G$-$^$;$s!#\e(B@code{nnimap} \e$B%P%C%/%(%s%I\e(B
+\e$B$d\e(B @code{nnmbox} \e$B%P%C%/%(%s%I$r;H$C$F$$$k?M$O!"$4$a$s$J$5$$!#\e(B
 
 \e$B$=$l$G$O5$$r<h$jD>$7$F!"$^$:!"\e(BNamazu \e$B$r;H$($k$h$&$K$7$^$7$g$&!#>\$7$$\e(B
 \e$B$3$H$O!"<!$N%Z!<%8$GCN$k$3$H$,$G$-$^$9!#\e(B
@@ -16215,6 +16221,7 @@ Gnus \e$B$r\e(B ``\e$B%*%U%i%$%s\e(B'' \e$B$N%K%e!<%9%j!<%@!<$H$7$F;EN)$F$k$N$O6K$a$F
 * Agent Commands::              \e$B3F%P%C%U%!!<$G$N?7$7$$L?Na\e(B
 * Agent as Cache::              \e$B%(!<%8%'%s%H$OBg$-$J%-%c%C%7%e$G$b$"$k\e(B
 * Agent Expiry::                \e$B8E$$5-;v$r>C$9J}K!\e(B
+* Agent Regeneration::          \e$BDL?.@ZCG$dB>$N;v8N$+$i2sI|$9$kJ}K!\e(B
 * Agent and IMAP::              \e$B%(!<%8%'%s%H$r\e(B IMAP \e$B$G;H$&J}K!\e(B
 * Outgoing Messages::           \e$BEj9F!"%a!<%k$r=P$9$H$-$K$J$K$,5/$3$k$N$+\e(B?
 * Agent Variables::             \e$B%+%9%?%^%$%:$O3Z$7\e(B
@@ -16682,9 +16689,9 @@ file
 \e$B$GF0:n$7!"\e(Bgnus \e$B%(!<%8%'%s%H$N@Z$jN%$7\e(B/\e$B:9$79~$_>uBV$r@Z$jBX$($^$9!#\e(B
 
 @menu
-* Group Agent Commands::        
-* Summary Agent Commands::      
-* Server Agent Commands::       
+* Group Agent Commands::        \e$B%0%k!<%W$N@_Dj$H$=$l$i$NFbMF$N<hF@\e(B
+* Summary Agent Commands::      \e$B<jF0$GA*Br$7$?5-;v$r<hF@$9$k\e(B
+* Server Agent Commands::       \e$B%(!<%8%'%s%H$G%5%]!<%H$5$l$k%5!<%P!<$NA*Br\e(B
 @end menu
 
 @node Group Agent Commands
@@ -16758,13 +16765,26 @@ file
 @item J c
 @kindex J c (\e$B%(!<%8%'%s%H\e(B \e$B35N,\e(B)
 @findex gnus-agent-catchup
-\e$B%@%&%s%m!<%I0u$NL5$$5-;v$rA4$F4{FI$K$9$k\e(B (@code{gnus-agent-catchup})\e$B!#\e(B
+\e$B%-%c%C%7%e$5$l$F$$$J$$!"%@%&%s%m!<%I$5$l$F$$$J$$!"$^$?$O%@%&%s%m!<%I$G$-\e(B
+\e$B$J$$$9$Y$F$N5-;v$r4{FI$K$9$k\e(B (@code{gnus-agent-catchup})\e$B!#\e(B
+
+@item J S
+@kindex J S (\e$B%(!<%8%'%s%H\e(B \e$B35N,\e(B)
+@findex gnus-agent-fetch-group
+\e$B$3$N%0%k!<%W$N$9$Y$F$NK>$^$7$$5-;v\e(B (@pxref{Agent Categories} \e$B;2>H\e(B) \e$B$r%@\e(B
+\e$B%&%s%m!<%I$9$k!#\e(B(@code{gnus-agent-fetch-group})\e$B!#\e(B
+
+@item J s
+@kindex J s (\e$B%(!<%8%'%s%H\e(B \e$B35N,\e(B)
+@findex gnus-agent-fetch-series
+\e$B$3$N%0%k!<%W$N$9$Y$F$N%W%m%;%90u$,IU$$$?5-;v$r%@%&%s%m!<%I$9$k!#\e(B
+(@code{gnus-agent-fetch-series})\e$B!#\e(B
 
 @item J u
 @kindex J u (\e$B%(!<%8%'%s%H\e(B \e$B35N,\e(B)
 @findex gnus-agent-summary-fetch-group
-\e$B8=:_$N%0%k!<%W$N%@%&%s%m!<%I2DG=$J5-;v$r!"$9$Y$F%@%&%s%m!<%I$7$^\e(B
-\e$B$9\e(B (@code{gnus-agent-summary-fetch-group})\e$B!#\e(B
+\e$B8=:_$N%0%k!<%W$N%@%&%s%m!<%I2DG=$J5-;v$r!"$9$Y$F%@%&%s%m!<%I$9\e(B
+\e$B$k\e(B (@code{gnus-agent-summary-fetch-group})\e$B!#\e(B
 @end table
 
 @node Server Agent Commands
@@ -16816,6 +16836,10 @@ gnus \e$B$,\e(B @dfn{plugged} \e$B$G$"$k$H$-$K!"$9$G$K%(!<%8%'%s%H$K3JG<$5$l$F$$$k%
 \e$BE*$G$b$J$/!"0lC6;O$a$F$7$^$C$?$i\e(B (@kbd{C-g} \e$B$d$=$NB>$G\e(B) \e$BCfCG$9$k$3$H$b$"\e(B
 \e$B$^$jNI$$$3$H$G$O$"$j$^$;$s!#\e(B
 
+\e$BNc$($P\e(B @code{gnus-request-expire-articles} \e$B$N$h$&$JB>$N4X?t$O!"%(!<%8%'\e(B
+\e$B%s%H$r%0%k!<%W$KF14|$5$;$k$?$a$K\e(B @code{gnus-agent-expire} \e$B$r<B9T$9$k$+$b\e(B
+\e$B$7$l$J$$$3$H$KCm0U$7$F2<$5$$!#\e(B
+
 @code{gnus-agent-expire-days} \e$B$O@55,I=8=\e(B/\e$BF|?t$N%Z%"$N%j%9%H$G$"$C$F$b9=\e(B
 \e$B$$$^$;$s!#@55,I=8=$O%0%k!<%WL>$K%^%C%A$7!"0[$J$k%0%k!<%W$G0[$J$k4|8B@Z$l\e(B
 \e$B>C5n$r9T$J$&$3$H$r2DG=$K$7$^$9!#\e(B
@@ -16828,7 +16852,8 @@ gnus \e$B$,\e(B @dfn{plugged} \e$B$G$"$k$H$-$K!"$9$G$K%(!<%8%'%s%H$K3JG<$5$l$F$$$k%
 @end lisp
 
 \e$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\e(B
-\e$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!#\e(B
+\e$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\e(B
+\e$B$F!"$5$i$K$=$l$O%0%k!<%WL>$N@hF,$+$i%^%C%A$7$J$1$l$P$J$j$^$;$s!#\e(B
 
 @vindex gnus-agent-expire-all
 @code{gnus-agent-expire-all} \e$B$,\e(B @code{nil} \e$B$G$J$1$l$P!"$3$NL?Na$OA4$F$N\e(B
@@ -16836,12 +16861,47 @@ gnus \e$B$,\e(B @dfn{plugged} \e$B$G$"$k$H$-$K!"$9$G$K%(!<%8%'%s%H$K3JG<$5$l$F$$$k%
 \e$B=i4|@_DjCM\e(B) \e$B$G$"$l$P!"4{FI5-;v$N$_$,>C5n$NBP>]$H$J$j!"L$FI!"2D;k!"J]N15-\e(B
 \e$B;v$O$5$i$KL54|8B$KJ];}$7$^$9!#\e(B
 
-@findex gnus-agent-regenerate
 \e$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$$\e(B
 \e$B$/$D$+$N\e(B gnus \e$B%(!<%8%'%s%H%U%!%$%k$,2u$l$F$$$^$9!#\e(B
 @code{gnus-agent-regenerate} \e$B$O!"5/$3$j$&$kLdBj$r=$I|$9$k$?$a$NFCJL$J%3\e(B
 \e$B%^%s%I$G$9!#\e(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 \e$B%(!<%8%'%s%H$r\e(B IMAP \e$B$G;H$&J}K!\e(B
 
@@ -16949,6 +17009,31 @@ plugged \e$B$N$H$-$K!"%m!<%+%k$K;}$C$F$$$k\e(B @sc{nov} \e$B$H5-;v$r;H$&$+$I$&$+$r@
 \e$B%P!<$r%*%s%i%$%s>uBV$K$9$k$+$I$&$+$r?R$M$^$9!#$=$l0J30$NCM$@$C$?$i!"%*%U\e(B
 \e$B%i%$%s>uBV$N%5!<%P!<$O<+F0E*$K%*%s%i%$%s>uBV$K$J$j$^$9!#\e(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
 \e$B$?$V$s%(!<%8%'%s%HJQ?t$G$O$J$$$,%(!<%8%'%s%H$KL)@\$K4XO"$9$k$3$NJQ?t$O!"\e(B
@@ -17128,8 +17213,8 @@ Gnus Agent \e$B$O$h$/$"$kB>$N%*%U%i%$%s%K%e!<%9%j!<%@!<$N$h$&$K$OF0:n$7$^$;\e(B
 @end table
 
 \e$BMWLs$9$k$H!"\e(Bgnus \e$B$,@Z$jN%$5$l$F$$$k$H$-$O%m!<%+%k$KJ]B8$5$l$?5-;v$r8+$k\e(B
-\e$B$@$1$G$9!#@\B3$5$l$F$$$k$H$-$O\e(B ISP \e$B$HOC$9$@$1$G!"$+$D%m!<%+%k$K;}$C$F$$\e(B
-\e$B$k5-;v$r;H$$$^$9!#\e(B
+\e$B$@$1$G$9!#@\B3$5$l$F$$$k$H$-$O\e(B ISP \e$B$HOC$7!"$+$D%m!<%+%k$K;}$C$F$$$k5-;v\e(B
+\e$B$b;H$&$+$b$7$l$^$;$s!#\e(B
 
 @node Scoring
 @chapter \e$B%9%3%"\e(B
index 81a7e9d..3105680 100644 (file)
@@ -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.