2001-02-23 08:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
[gnus] / texi / gnus.texi
index 77786e9..9cc5054 100644 (file)
@@ -5,7 +5,7 @@
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
-@dircategory Editors
+@dircategory Emacs
 @direntry
 * Gnus: (gnus).         The newsreader Gnus.
 @end direntry
 @direntry
 * Gnus: (gnus).         The newsreader Gnus.
 @end direntry
 
 \thispagestyle{empty}
 
 
 \thispagestyle{empty}
 
-Copyright \copyright{} 1995,96,97,98,99,2000 Free Software Foundation, Inc.
+Copyright \copyright{} 1995, 1996, 1997, 1998, 1999, 2000 
+Free Software Foundation, Inc.
 
 
 Permission is granted to copy, distribute and/or modify this document
 
 
 Permission is granted to copy, distribute and/or modify this document
@@ -300,7 +301,7 @@ license to the document, as described in section 6 of the license.
 
 This file documents Gnus, the GNU Emacs newsreader.
 
 
 This file documents Gnus, the GNU Emacs newsreader.
 
-Copyright (C) 1995,96,97,98,99,2000 Free Software Foundation, Inc.
+Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -329,7 +330,7 @@ license to the document, as described in section 6 of the license.
 @page
 
 @vskip 0pt plus 1filll
 @page
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1995,96,97,98,99,2000 Free Software Foundation, Inc.
+Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -364,7 +365,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Gnus 5.8.7.
+This manual corresponds to Oort Gnus v0.01.
 
 @end ifinfo
 
 
 @end ifinfo
 
@@ -503,6 +504,7 @@ The Summary Buffer
 * Exiting the Summary Buffer::  Returning to the Group buffer.
 * Crosspost Handling::          How crossposted articles are dealt with.
 * Duplicate Suppression::       An alternative when crosspost handling fails.
 * Exiting the Summary Buffer::  Returning to the Group buffer.
 * Crosspost Handling::          How crossposted articles are dealt with.
 * Duplicate Suppression::       An alternative when crosspost handling fails.
+* Security::                    Decrypt and Verify.
 
 Summary Buffer Format
 
 
 Summary Buffer Format
 
@@ -593,13 +595,13 @@ The Article Buffer
 Composing Messages
 
 * Mail::                 Mailing and replying.
 Composing Messages
 
 * Mail::                 Mailing and replying.
-* Post::                 Posting and following up.
 * Posting Server::       What server should you post via?
 * Mail and Post::        Mailing and posting at the same time.
 * Archived Messages::    Where Gnus stores the messages you've sent.
 * Posting Styles::       An easier way to specify who you are.
 * Drafts::               Postponing messages and rejected messages.
 * Rejected Articles::    What happens if the server doesn't like your article?
 * Posting Server::       What server should you post via?
 * Mail and Post::        Mailing and posting at the same time.
 * Archived Messages::    Where Gnus stores the messages you've sent.
 * Posting Styles::       An easier way to specify who you are.
 * Drafts::               Postponing messages and rejected messages.
 * Rejected Articles::    What happens if the server doesn't like your article?
+* Using GPG::            How to use GPG and MML to sign and encrypt messages
 
 Select Methods
 
 
 Select Methods
 
@@ -637,7 +639,7 @@ Getting Mail
 * Group Mail Splitting::         Use group customize to drive mail splitting.
 * Incorporating Old Mail::       What about the old mail you have?
 * Expiring Mail::                Getting rid of unwanted mail.
 * Group Mail Splitting::         Use group customize to drive mail splitting.
 * Incorporating Old Mail::       What about the old mail you have?
 * Expiring Mail::                Getting rid of unwanted mail.
-* Washing Mail::                 Removing gruft from the mail you get.
+* Washing Mail::                 Removing cruft from the mail you get.
 * Duplicates::                   Dealing with duplicated mail.
 * Not Reading Mail::             Using mail backends for reading other files.
 * Choosing a Mail Backend::      Gnus can read a variety of mail formats.
 * Duplicates::                   Dealing with duplicated mail.
 * Not Reading Mail::             Using mail backends for reading other files.
 * Choosing a Mail Backend::      Gnus can read a variety of mail formats.
@@ -762,7 +764,7 @@ Various
 * Compilation::                How to speed Gnus up.
 * Mode Lines::                 Displaying information in the mode lines.
 * Highlighting and Menus::     Making buffers look all nice and cozy.
 * Compilation::                How to speed Gnus up.
 * Mode Lines::                 Displaying information in the mode lines.
 * Highlighting and Menus::     Making buffers look all nice and cozy.
-* Buttons::                    Get tendonitis in ten easy steps!
+* Buttons::                    Get tendinitis in ten easy steps!
 * Daemons::                    Gnus can do things behind your back.
 * NoCeM::                      How to avoid spam and other fatty foods.
 * Undo::                       Some actions can be undone.
 * Daemons::                    Gnus can do things behind your back.
 * NoCeM::                      How to avoid spam and other fatty foods.
 * Undo::                       Some actions can be undone.
@@ -817,14 +819,14 @@ History
 * Gnus Development::    How Gnus is developed.
 * Contributors::        Oodles of people.
 * New Features::        Pointers to some of the new stuff in Gnus.
 * Gnus Development::    How Gnus is developed.
 * Contributors::        Oodles of people.
 * New Features::        Pointers to some of the new stuff in Gnus.
-* Newest Features::     Features so new that they haven't been written yet.
 
 New Features
 
 * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
 
 New Features
 
 * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
-* September Gnus::     The Thing Formally Known As Gnus 5.3/5.3.
+* September Gnus::     The Thing Formally Known As Gnus 5.2/5.3.
 * Red Gnus::           Third time best---Gnus 5.4/5.5.
 * Quassia Gnus::       Two times two is four, or Gnus 5.6/5.7.
 * Red Gnus::           Third time best---Gnus 5.4/5.5.
 * Quassia Gnus::       Two times two is four, or Gnus 5.6/5.7.
+* Pterodactyl Gnus::   Pentad also starts with P, AKA Gnus 5.8/5.9.
 
 Customization
 
 
 Customization
 
@@ -1034,7 +1036,7 @@ your mail without bothering with the server at all, you can use the
 if you're in a hurry as well.  This command will not attempt to contact
 your primary server---instead, it will just activate all groups on level
 1 and 2.  (You should preferably keep no native groups on those two
 if you're in a hurry as well.  This command will not attempt to contact
 your primary server---instead, it will just activate all groups on level
 1 and 2.  (You should preferably keep no native groups on those two
-levels.)
+levels.) Also @pxref{Group Levels}.
 
 
 @node Slave Gnusae
 
 
 @node Slave Gnusae
@@ -1057,7 +1059,7 @@ conjunction with each other, you have to send $1 per usage instance to
 me.  Usage of the patent (@dfn{Master/Slave Relationships In Computer
 Applications}) will be much more expensive, of course.)
 
 me.  Usage of the patent (@dfn{Master/Slave Relationships In Computer
 Applications}) will be much more expensive, of course.)
 
-Anyways, you start one Gnus up the normal way with @kbd{M-x gnus} (or
+Anyway, you start one Gnus up the normal way with @kbd{M-x gnus} (or
 however you do it).  Each subsequent slave Gnusae should be started with
 @kbd{M-x gnus-slave}.  These slaves won't save normal @file{.newsrc}
 files, but instead save @dfn{slave files} that contain information only
 however you do it).  Each subsequent slave Gnusae should be started with
 @kbd{M-x gnus-slave}.  These slaves won't save normal @file{.newsrc}
 files, but instead save @dfn{slave files} that contain information only
@@ -1474,9 +1476,10 @@ support the @code{LIST ACTIVE group} command), on others this isn't fast
 at all.  In any case, @code{some} should be faster than @code{nil}, and
 is certainly faster than @code{t} over slow lines.
 
 at all.  In any case, @code{some} should be faster than @code{nil}, and
 is certainly faster than @code{t} over slow lines.
 
-Some news servers (Leafnode and old versions of INN, for instance) do
-not support the @code{LIST ACTIVE group}.  For these servers, @code{nil}
-is probably the most efficient value for this variable.
+Some news servers (old versions of Leafnode and old versions of INN, for
+instance) do not support the @code{LIST ACTIVE group}.  For these
+servers, @code{nil} is probably the most efficient value for this
+variable.
 
 If this variable is @code{nil}, Gnus will ask for group info in total
 lock-step, which isn't very fast.  If it is @code{some} and you use an
 
 If this variable is @code{nil}, Gnus will ask for group info in total
 lock-step, which isn't very fast.  If it is @code{some} and you use an
@@ -1725,6 +1728,9 @@ The default is 1---this will mean that group names like
 @samp{%} (@code{gnus-new-mail-mark}) if there has arrived new mail to
 the group lately.
 
 @samp{%} (@code{gnus-new-mail-mark}) if there has arrived new mail to
 the group lately.
 
+@item p
+@samp{#} (@code{gnus-process-mark}) if the group is process marked.
+
 @item d
 A string that says when you last read the group (@pxref{Group
 Timestamp}).
 @item d
 A string that says when you last read the group (@pxref{Group
 Timestamp}).
@@ -1932,6 +1938,14 @@ determines the number of articles Gnus will fetch.  If @var{N} is
 positive, Gnus fetches the @var{N} newest articles, if @var{N} is
 negative, Gnus fetches the @code{abs(@var{N})} oldest articles.
 
 positive, Gnus fetches the @var{N} newest articles, if @var{N} is
 negative, Gnus fetches the @code{abs(@var{N})} oldest articles.
 
+Thus, @kbd{SPC} enters the group normally, @kbd{C-u SPC} offers old
+articles, @kbd{C-u 4 2 SPC} fetches the 42 newest articles, and @kbd{C-u
+- 4 2 SPC} fetches the 42 oldest ones.
+
+When you are in the group (in the Summary buffer), you can type
+@kbd{M-g} to fetch new articles, or @kbd{C-u M-g} to also show the old
+ones.
+
 @item RET
 @kindex RET (Group)
 @findex gnus-group-select-group
 @item RET
 @kindex RET (Group)
 @findex gnus-group-select-group
@@ -2524,6 +2538,9 @@ the dot is the key, while the thing after the dot is the value.  All the
 parameters have this form @emph{except} local variable specs, which are
 not dotted pairs, but proper lists.
 
 parameters have this form @emph{except} local variable specs, which are
 not dotted pairs, but proper lists.
 
+Some parameters have correspondant customizable variables, each of which
+is an alist of regexps and values.
+
 The following group parameters can be used:
 
 @table @code
 The following group parameters can be used:
 
 @table @code
@@ -2532,7 +2549,7 @@ The following group parameters can be used:
 Address used by when doing followups and new posts.
 
 @example
 Address used by when doing followups and new posts.
 
 @example
-(to-address .  "some@@where.com")
+(to-address . "some@@where.com")
 @end example
 
 This is primarily useful in mail groups that represent closed mailing
 @end example
 
 This is primarily useful in mail groups that represent closed mailing
@@ -2548,6 +2565,8 @@ the articles from a mail-to-news gateway.  Posting directly to this
 group is therefore impossible---you have to send mail to the mailing
 list address instead.
 
 group is therefore impossible---you have to send mail to the mailing
 list address instead.
 
+See also @code{gnus-parameter-to-address-alist}.
+
 @item to-list
 @cindex to-list
 Address used when doing @kbd{a} in that group.
 @item to-list
 @cindex to-list
 Address used when doing @kbd{a} in that group.
@@ -2570,6 +2589,8 @@ If you do an @kbd{a} command in a mail group and you don't have a
 @code{to-list} group parameter, one will be added automatically upon
 sending the message.
 
 @code{to-list} group parameter, one will be added automatically upon
 sending the message.
 
+See also @code{gnus-parameter-to-list-alist}.
+
 @item visible
 @cindex visible
 If the group parameter list has the element @code{(visible . t)},
 @item visible
 @cindex visible
 If the group parameter list has the element @code{(visible . t)},
@@ -2612,6 +2633,8 @@ 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}.
 
 . t)}, all articles read will be marked as expirable.  For an
 alternative approach, @pxref{Expiring Mail}.
 
+See also @code{gnus-auto-expirable-newsgroups}.
+
 @item total-expire
 @cindex total-expire
 If the group parameter has an element that looks like
 @item total-expire
 @cindex total-expire
 If the group parameter has an element that looks like
@@ -2620,6 +2643,8 @@ expiry process, even if they are not marked as expirable.  Use with
 caution.  Unread, ticked and dormant articles are not eligible for
 expiry.
 
 caution.  Unread, ticked and dormant articles are not eligible for
 expiry.
 
+See also @code{gnus-total-expirable-newsgroups}.
+
 @item expiry-wait
 @cindex expiry-wait
 @vindex nnmail-expiry-wait-function
 @item expiry-wait
 @cindex expiry-wait
 @vindex nnmail-expiry-wait-function
@@ -2671,19 +2696,14 @@ Elements that look like @code{(charset . iso-8859-1)} will make
 @code{iso-8859-1} the default charset; that is, the charset that will be
 used for all articles that do not specify a charset.
 
 @code{iso-8859-1} the default charset; that is, the charset that will be
 used for all articles that do not specify a charset.
 
-@item (@var{variable} @var{form})
-You can use the group parameters to set variables local to the group you
-are entering.  If you want to turn threading off in @samp{news.answers},
-you could put @code{(gnus-show-threads nil)} in the group parameters of
-that group.  @code{gnus-show-threads} will be made into a local variable
-in the summary buffer you enter, and the form @code{nil} will be
-@code{eval}ed there.
+See also @code{gnus-group-charset-alist}.
 
 
-This can also be used as a group-specific hook function, if you'd like.
-If you want to hear a beep when you enter a group, you could put
-something like @code{(dummy-variable (ding))} in the parameters of that
-group.  @code{dummy-variable} will be set to the result of the
-@code{(ding)} form, but who cares?
+@item ignored-charsets
+Elements that look like @code{(ignored-charsets x-known iso-8859-1)}
+will make @code{iso-8859-1} and @code{x-unknown} ignored; that is, the
+default charset will be used for decoding articles.
+
+See also @code{gnus-group-ignored-charsets-alist}.
 
 @item posting-style
 You can store additional posting style information for this group only
 
 @item posting-style
 You can store additional posting style information for this group only
@@ -2702,11 +2722,34 @@ like this in the group parameters:
   (signature "Funky Signature"))
 @end example
 
   (signature "Funky Signature"))
 @end example
 
+@item banner
+An item like @code{(banner . "regex")} causes any part of an article
+that matches the regular expression "regex" to be stripped. Instead of
+"regex", you can also use the symbol @code{signature} which strips the
+last signature or any of the elements of the alist
+@code{gnus-article-banner-alist}.
+
+@item (@var{variable} @var{form})
+You can use the group parameters to set variables local to the group you
+are entering.  If you want to turn threading off in @samp{news.answers},
+you could put @code{(gnus-show-threads nil)} in the group parameters of
+that group.  @code{gnus-show-threads} will be made into a local variable
+in the summary buffer you enter, and the form @code{nil} will be
+@code{eval}ed there.
+
+This can also be used as a group-specific hook function, if you'd like.
+If you want to hear a beep when you enter a group, you could put
+something like @code{(dummy-variable (ding))} in the parameters of that
+group.  @code{dummy-variable} will be set to the result of the
+@code{(ding)} form, but who cares?
+
 @end table
 
 @end table
 
-Use the @kbd{G p} command to edit group parameters of a group.  You
-might also be interested in reading about topic parameters (@pxref{Topic
-Parameters}).
+Use the @kbd{G p} or the @kbd{G c} command to edit group parameters of a
+group.  (@kbd{G p} presents you with a Lisp-based interface, @kbd{G c}
+presents you with a Customize-like interface.  The latter helps avoid
+silly Lisp errors.)  You might also be interested in reading about topic
+parameters (@pxref{Topic Parameters}).
 
 
 @node Listing Groups
 
 
 @node Listing Groups
@@ -2804,6 +2847,22 @@ List all groups with cached articles (@code{gnus-group-list-cached}).
 @findex gnus-group-list-dormant
 List all groups with dormant articles (@code{gnus-group-list-dormant}).
 
 @findex gnus-group-list-dormant
 List all groups with dormant articles (@code{gnus-group-list-dormant}).
 
+@item A /
+@kindex A / (Group)
+@findex gnus-group-list-limit
+List groups limited within the current selection
+(@code{gnus-group-list-limit}).
+
+@item A f
+@kindex A f (Group)
+@findex gnus-group-list-flush
+Flush groups from the current selection (@code{gnus-group-list-flush}).
+
+@item A p
+@kindex A p (Group)
+@findex gnus-group-list-plus
+List groups plus the current selection (@code{gnus-group-list-plus}).
+
 @end table
 
 @vindex gnus-permanently-visible-groups
 @end table
 
 @vindex gnus-permanently-visible-groups
@@ -2863,6 +2922,10 @@ Sort by number of unread articles.
 @findex gnus-group-sort-by-method
 Sort alphabetically on the select method.
 
 @findex gnus-group-sort-by-method
 Sort alphabetically on the select method.
 
+@item gnus-group-sort-by-server
+@findex gnus-group-sort-by-server
+Sort alphabetically on the Gnus server name.
+
 
 @end table
 
 
 @end table
 
@@ -3839,9 +3902,11 @@ You can have as many summary buffers open as you wish.
 * Tree Display::                A more visual display of threads.
 * Mail Group Commands::         Some commands can only be used in mail groups.
 * Various Summary Stuff::       What didn't fit anywhere else.
 * Tree Display::                A more visual display of threads.
 * Mail Group Commands::         Some commands can only be used in mail groups.
 * Various Summary Stuff::       What didn't fit anywhere else.
-* Exiting the Summary Buffer::  Returning to the Group buffer.
+* Exiting the Summary Buffer::  Returning to the Group buffer,
+                                or reselecting the current group.
 * Crosspost Handling::          How crossposted articles are dealt with.
 * Duplicate Suppression::       An alternative when crosspost handling fails.
 * Crosspost Handling::          How crossposted articles are dealt with.
 * Duplicate Suppression::       An alternative when crosspost handling fails.
+* Security::                    Decrypt and Verify.
 @end menu
 
 
 @end menu
 
 
@@ -4065,7 +4130,8 @@ You also have to instruct Gnus to display the data by changing the
 @code{%n} spec to the @code{%f} spec in the
 @code{gnus-summary-line-format} variable.
 
 @code{%n} spec to the @code{%f} spec in the
 @code{gnus-summary-line-format} variable.
 
-In summary, you'd typically do something like the following:
+In summary, you'd typically put something like the following in
+@file{~/.gnus}:
 
 @lisp
 (setq gnus-extra-headers
 
 @lisp
 (setq gnus-extra-headers
@@ -4203,14 +4269,6 @@ Go to the next summary line of an unread article
 Go to the previous summary line of an unread article
 (@code{gnus-summary-prev-unread-subject}).
 
 Go to the previous summary line of an unread article
 (@code{gnus-summary-prev-unread-subject}).
 
-@item G j
-@itemx j
-@kindex j (Summary)
-@kindex G j (Summary)
-@findex gnus-summary-goto-article
-Ask for an article number or @code{Message-ID}, and then go to that
-article (@code{gnus-summary-goto-article}).
-
 @item G g
 @kindex G g (Summary)
 @findex gnus-summary-goto-subject
 @item G g
 @kindex G g (Summary)
 @findex gnus-summary-goto-subject
@@ -4290,6 +4348,9 @@ the given number of lines from the top.
 None of the following movement commands understand the numeric prefix,
 and they all select and display an article.
 
 None of the following movement commands understand the numeric prefix,
 and they all select and display an article.
 
+If you want to fetch new articles or redisplay the group, see
+@ref{Exiting the Summary Buffer}.
+
 @table @kbd
 @item SPACE
 @kindex SPACE (Summary)
 @table @kbd
 @item SPACE
 @kindex SPACE (Summary)
@@ -4372,6 +4433,15 @@ command above in that you can pop as many previous articles off the
 history as you like, while @kbd{l} toggles the two last read articles.
 For a somewhat related issue (if you use these commands a lot),
 @pxref{Article Backlog}.
 history as you like, while @kbd{l} toggles the two last read articles.
 For a somewhat related issue (if you use these commands a lot),
 @pxref{Article Backlog}.
+
+@item G j
+@itemx j
+@kindex j (Summary)
+@kindex G j (Summary)
+@findex gnus-summary-goto-article
+Ask for an article number or @code{Message-ID}, and then go to that
+article (@code{gnus-summary-goto-article}).
+
 @end table
 
 
 @end table
 
 
@@ -4560,9 +4630,9 @@ Forward the current article to some other person
 (@code{gnus-summary-mail-forward}).  If no prefix is given, the message
 is forwarded according to the value of (@code{message-forward-as-mime})
 and (@code{message-forward-show-mml}); if the prefix is 1, decode the
 (@code{gnus-summary-mail-forward}).  If no prefix is given, the message
 is forwarded according to the value of (@code{message-forward-as-mime})
 and (@code{message-forward-show-mml}); if the prefix is 1, decode the
-message and forward directly inline; if the prefix is 2, foward message
+message and forward directly inline; if the prefix is 2, forward message
 as an rfc822 MIME section; if the prefix is 3, decode message and
 as an rfc822 MIME section; if the prefix is 3, decode message and
-forward as an rfc822 MIME section; if the prefix is 4, foward message
+forward as an rfc822 MIME section; if the prefix is 4, forward message
 directly inline; otherwise, the message is forwarded as no prefix given
 but use the flipped value of (@code{message-forward-as-mime}).  By
 default, the message is decoded and forwarded as an rfc822 MIME section.
 directly inline; otherwise, the message is forwarded as no prefix given
 but use the flipped value of (@code{message-forward-as-mime}).  By
 default, the message is decoded and forwarded as an rfc822 MIME section.
@@ -4694,9 +4764,9 @@ Forward the current article to a newsgroup
  If no prefix is given, the message is forwarded according to the value
 of (@code{message-forward-as-mime}) and
 (@code{message-forward-show-mml}); if the prefix is 1, decode the
  If no prefix is given, the message is forwarded according to the value
 of (@code{message-forward-as-mime}) and
 (@code{message-forward-show-mml}); if the prefix is 1, decode the
-message and forward directly inline; if the prefix is 2, foward message
+message and forward directly inline; if the prefix is 2, forward message
 as an rfc822 MIME section; if the prefix is 3, decode message and
 as an rfc822 MIME section; if the prefix is 3, decode message and
-forward as an rfc822 MIME section; if the prefix is 4, foward message
+forward as an rfc822 MIME section; if the prefix is 4, forward message
 directly inline; otherwise, the message is forwarded as no prefix given
 but use the flipped value of (@code{message-forward-as-mime}).  By
 default, the message is decoded and forwarded as an rfc822 MIME section.
 directly inline; otherwise, the message is forwarded as no prefix given
 but use the flipped value of (@code{message-forward-as-mime}).  By
 default, the message is decoded and forwarded as an rfc822 MIME section.
@@ -4837,9 +4907,10 @@ Marked as ticked (@code{gnus-ticked-mark}).
 @dfn{Ticked articles} are articles that will remain visible always.  If
 you see an article that you find interesting, or you want to put off
 reading it, or replying to it, until sometime later, you'd typically
 @dfn{Ticked articles} are articles that will remain visible always.  If
 you see an article that you find interesting, or you want to put off
 reading it, or replying to it, until sometime later, you'd typically
-tick it.  However, articles can be expired, so if you want to keep an
-article forever, you'll have to make it persistent (@pxref{Persistent
-Articles}).
+tick it.  However, articles can be expired (from news servers by the
+news server software, Gnus itself never expires ticked messages), so if
+you want to keep an article forever, you'll have to make it persistent
+(@pxref{Persistent Articles}).
 
 @item ?
 @vindex gnus-dormant-mark
 
 @item ?
 @vindex gnus-dormant-mark
@@ -5147,7 +5218,7 @@ even though I haven't heard of anybody wanting it to go to the
 previous (unread) article, I'm sure there are people that want that as
 well.
 
 previous (unread) article, I'm sure there are people that want that as
 well.
 
-Multiply these five behaviours with five different marking commands, and
+Multiply these five behaviors with five different marking commands, and
 you get a potentially complex set of variable to control what each
 command should do.
 
 you get a potentially complex set of variable to control what each
 command should do.
 
@@ -5432,7 +5503,7 @@ hierarchical fashion.
 Threading is done by looking at the @code{References} headers of the
 articles.  In a perfect world, this would be enough to build pretty
 trees, but unfortunately, the @code{References} header is often broken
 Threading is done by looking at the @code{References} headers of the
 articles.  In a perfect world, this would be enough to build pretty
 trees, but unfortunately, the @code{References} header is often broken
-or simply missing.  Weird news propagation excarcerbates the problem,
+or simply missing.  Weird news propagation exacerbates the problem,
 so one has to employ other heuristics to get pleasing results.  A
 plethora of approaches exists, as detailed in horrible detail in
 @pxref{Customizing Threading}.
 so one has to employ other heuristics to get pleasing results.  A
 plethora of approaches exists, as detailed in horrible detail in
 @pxref{Customizing Threading}.
@@ -6132,7 +6203,7 @@ Used carefully, though, it could be just an easier way to save articles.
 To turn caching on, set @code{gnus-use-cache} to @code{t}.  By default,
 all articles ticked or marked as dormant will then be copied
 over to your local cache (@code{gnus-cache-directory}).  Whether this
 To turn caching on, set @code{gnus-use-cache} to @code{t}.  By default,
 all articles ticked or marked as dormant will then be copied
 over to your local cache (@code{gnus-cache-directory}).  Whether this
-cache is flat or hierarchal is controlled by the
+cache is flat or hierarchical is controlled by the
 @code{gnus-use-long-file-name} variable, as usual.
 
 When re-selecting a ticked or dormant article, it will be fetched from the
 @code{gnus-use-long-file-name} variable, as usual.
 
 When re-selecting a ticked or dormant article, it will be fetched from the
@@ -6437,6 +6508,10 @@ File names like @file{~/News/Alt.andrea-dworkin}.
 @item gnus-plain-save-name
 @findex gnus-plain-save-name
 File names like @file{~/News/alt.andrea-dworkin}.
 @item gnus-plain-save-name
 @findex gnus-plain-save-name
 File names like @file{~/News/alt.andrea-dworkin}.
+
+@item gnus-sender-save-name
+@findex gnus-sender-save-name
+File names like @file{~/News/larsi}.
 @end table
 
 @vindex gnus-split-methods
 @end table
 
 @vindex gnus-split-methods
@@ -6995,10 +7070,6 @@ Some variables to customize the citation highlights:
 If the article size if bigger than this variable (which is 25000 by
 default), no citation highlighting will be performed.
 
 If the article size if bigger than this variable (which is 25000 by
 default), no citation highlighting will be performed.
 
-@item gnus-cite-prefix-regexp
-@vindex gnus-cite-prefix-regexp
-Regexp matching the longest possible citation prefix on a line.
-
 @item gnus-cite-max-prefix
 @vindex gnus-cite-max-prefix
 Maximum possible length for a citation prefix (default 20).
 @item gnus-cite-max-prefix
 @vindex gnus-cite-max-prefix
 Maximum possible length for a citation prefix (default 20).
@@ -7209,8 +7280,8 @@ Hide @sc{pem} (privacy enhanced messages) cruft
 @findex gnus-article-strip-banner
 @cindex banner
 @cindex OneList
 @findex gnus-article-strip-banner
 @cindex banner
 @cindex OneList
-@cindex stripping advertisments
-@cindex advertisments
+@cindex stripping advertisements
+@cindex advertisements
 Strip the banner specified by the @code{banner} group parameter
 (@code{gnus-article-strip-banner}).  This is mainly used to hide those
 annoying banners and/or signatures that some mailing lists and moderated
 Strip the banner specified by the @code{banner} group parameter
 (@code{gnus-article-strip-banner}).  This is mainly used to hide those
 annoying banners and/or signatures that some mailing lists and moderated
@@ -7311,8 +7382,16 @@ We call this ``article washing'' for a really good reason.  Namely, the
 something else'', but normally results in something looking better.
 Cleaner, perhaps.
 
 something else'', but normally results in something looking better.
 Cleaner, perhaps.
 
+@xref{Customizing Articles}, if you want to change how Gnus displays
+articles by default.
+
 @table @kbd
 
 @table @kbd
 
+@item C-u g
+This is not really washing, it's sort of the opposite of washing.  If
+you type this, you see the article exactly as it exists on disk or on
+the server.
+
 @item W l
 @kindex W l (Summary)
 @findex gnus-summary-stop-page-breaking
 @item W l
 @kindex W l (Summary)
 @findex gnus-summary-stop-page-breaking
@@ -7358,14 +7437,19 @@ Treat overstrike (@code{gnus-article-treat-overstrike}).
 @findex gnus-article-treat-dumbquotes
 @vindex gnus-article-dumbquotes-map
 @cindex Smartquotes
 @findex gnus-article-treat-dumbquotes
 @vindex gnus-article-dumbquotes-map
 @cindex Smartquotes
-@cindex M******** sm*rtq**t*s
+@cindex M****s*** sm*rtq**t*s
 @cindex Latin 1
 @cindex Latin 1
-Treat M******** sm*rtq**t*s according to
+Treat M****s*** sm*rtq**t*s according to
 @code{gnus-article-dumbquotes-map}
 (@code{gnus-article-treat-dumbquotes}).  Note that this function guesses
 whether a character is a sm*rtq**t* or not, so it should only be used
 interactively.
 
 @code{gnus-article-dumbquotes-map}
 (@code{gnus-article-treat-dumbquotes}).  Note that this function guesses
 whether a character is a sm*rtq**t* or not, so it should only be used
 interactively.
 
+Sm*rtq**t*s are M****s***'s unilateral extension to the character map in
+an attempt to provide more quoting characters.  If you see something
+like @code{\222} or @code{\264} where you're expecting some kind of
+apostrophe or quotation mark, then try this wash.
+
 @item W w
 @kindex W w (Summary)
 @findex gnus-article-fill-cited-article
 @item W w
 @kindex W w (Summary)
 @findex gnus-article-fill-cited-article
@@ -7441,6 +7525,7 @@ has been done.
 \include{xface}
 @end iflatex
 @end iftex
 \include{xface}
 @end iflatex
 @end iftex
+@c @anchor{X-Face}
 Look for and display any X-Face headers
 (@code{gnus-article-display-x-face}).  The command executed by this
 function is given by the @code{gnus-article-x-face-command} variable.
 Look for and display any X-Face headers
 (@code{gnus-article-display-x-face}).  The command executed by this
 function is given by the @code{gnus-article-x-face-command} variable.
@@ -7642,6 +7727,12 @@ Display the date in international format, aka. ISO 8601
 @findex gnus-article-date-local
 Display the date in the local timezone (@code{gnus-article-date-local}).
 
 @findex gnus-article-date-local
 Display the date in the local timezone (@code{gnus-article-date-local}).
 
+@item W T p
+@kindex W T p (Summary)
+@findex gnus-article-date-english
+Display the date in a format that's easily pronounceable in English
+(@code{gnus-article-date-english}).
+
 @item W T s
 @kindex W T s (Summary)
 @vindex gnus-article-time-format
 @item W T s
 @kindex W T s (Summary)
 @vindex gnus-article-time-format
@@ -7928,11 +8019,11 @@ hierarchy uses @code{iso-2022-jp-2}.
 
 @vindex gnus-group-charset-alist
 This knowledge is encoded in the @code{gnus-group-charset-alist}
 
 @vindex gnus-group-charset-alist
 This knowledge is encoded in the @code{gnus-group-charset-alist}
-variable, which is an alist of regexps (to match group names) and
+variable, which is an alist of regexps (to match full group names) and
 default charsets to be used when reading these groups.
 
 In addition, some people do use soi-disant @sc{mime}-aware agents that
 default charsets to be used when reading these groups.
 
 In addition, some people do use soi-disant @sc{mime}-aware agents that
-aren't.  These blitely mark messages as being in @code{iso-8859-1} even
+aren't.  These blithely mark messages as being in @code{iso-8859-1} even
 if they really are in @code{koi-8}.  To help here, the
 @code{gnus-newsgroup-ignored-charsets} variable can be used.  The
 charsets that are listed here will be ignored.  The variable can be set
 if they really are in @code{koi-8}.  To help here, the
 @code{gnus-newsgroup-ignored-charsets} variable can be used.  The
 charsets that are listed here will be ignored.  The variable can be set
@@ -8548,7 +8639,9 @@ If you move (or copy) articles regularly, you might wish to have Gnus
 suggest where to put the articles.  @code{gnus-move-split-methods} is a
 variable that uses the same syntax as @code{gnus-split-methods}
 (@pxref{Saving Articles}).  You may customize that variable to create
 suggest where to put the articles.  @code{gnus-move-split-methods} is a
 variable that uses the same syntax as @code{gnus-split-methods}
 (@pxref{Saving Articles}).  You may customize that variable to create
-suggestions you find reasonable.
+suggestions you find reasonable.  (Note that
+@code{gnus-move-split-methods} uses group names where
+@code{gnus-split-methods} uses file names.)
 
 @lisp
 (setq gnus-move-split-methods
 
 @lisp
 (setq gnus-move-split-methods
@@ -9026,6 +9119,33 @@ so that means that if you stop and start Gnus often, you should set
 @code{gnus-save-duplicate-list} to @code{nil}.  Uhm.  I'll leave this up
 to you to figure out, I think.
 
 @code{gnus-save-duplicate-list} to @code{nil}.  Uhm.  I'll leave this up
 to you to figure out, I think.
 
+@node Security
+@section Security
+
+Gnus is able to verify PGP or S/MIME signed messages or decrypt PGP
+encrypted messages.
+
+@enumerate
+@item 
+To verify or decrypt PGP messages, you have to install mailcrypt or
+gpg.el.
+
+@end enumerate
+
+@table @code
+@item mm-verify-option
+@vindex mm-verify-option
+Option of verifying signed parts.  @code{never}, not verify;
+@code{always}, always verify; @code{known}, only verify known
+protocols. Otherwise, ask user.
+
+@item mm-decrypt-option
+@vindex mm-decrypt-option
+Option of decrypting encrypted parts.  @code{never}, no decryption;
+@code{always}, always decrypt @code{known}, only decrypt known
+protocols. Otherwise, ask user.
+
+@end table
 
 @node The Article Buffer
 @chapter The Article Buffer
 
 @node The Article Buffer
 @chapter The Article Buffer
@@ -9142,6 +9262,9 @@ Remove the @code{Reply-To} header if it lists the same address as the
 @item newsgroups
 Remove the @code{Newsgroups} header if it only contains the current group
 name.
 @item newsgroups
 Remove the @code{Newsgroups} header if it only contains the current group
 name.
+@item to-address
+Remove the @code{To} header if it only contains the address identical to
+the current groups's @code{to-address} parameter.
 @item date
 Remove the @code{Date} header if the article is less than three days
 old.
 @item date
 Remove the @code{Date} header if the article is less than three days
 old.
@@ -9221,7 +9344,7 @@ Output the @sc{mime} object to a process (@code{gnus-mime-pipe-part}).
 @item i (Article)
 Insert the contents of the @sc{mime} object into the buffer
 (@code{gnus-mime-inline-part}) as text/plain.  If given a prefix, insert
 @item i (Article)
 Insert the contents of the @sc{mime} object into the buffer
 (@code{gnus-mime-inline-part}) as text/plain.  If given a prefix, insert
-the raw contens without decoding.  If given a numerical prefix, you can
+the raw contents without decoding.  If given a numerical prefix, you can
 do semi-manual charset stuff (see
 @code{gnus-summary-show-article-charset-alist} in @pxref{Paging the
 Article}).
 do semi-manual charset stuff (see
 @code{gnus-summary-show-article-charset-alist} in @pxref{Paging the
 Article}).
@@ -9333,6 +9456,7 @@ possible but those listed are probably sufficient for most people.
 @item gnus-treat-hide-boring-headers (head)
 @item gnus-treat-hide-signature (t, last)
 @item gnus-treat-hide-citation (t, integer)
 @item gnus-treat-hide-boring-headers (head)
 @item gnus-treat-hide-signature (t, last)
 @item gnus-treat-hide-citation (t, integer)
+@item gnus-treat-hide-citation-maybe (t, integer)
 @item gnus-treat-strip-pgp (t, last, integer)
 @item gnus-treat-strip-pem (t, last, integer)
 @item gnus-treat-highlight-headers (head)
 @item gnus-treat-strip-pgp (t, last, integer)
 @item gnus-treat-strip-pem (t, last, integer)
 @item gnus-treat-highlight-headers (head)
@@ -9340,8 +9464,11 @@ possible but those listed are probably sufficient for most people.
 @item gnus-treat-highlight-signature (t, last, integer)
 @item gnus-treat-date-ut (head)
 @item gnus-treat-date-local (head)
 @item gnus-treat-highlight-signature (t, last, integer)
 @item gnus-treat-date-ut (head)
 @item gnus-treat-date-local (head)
+@item gnus-treat-date-english (head)
 @item gnus-treat-date-lapsed (head)
 @item gnus-treat-date-original (head)
 @item gnus-treat-date-lapsed (head)
 @item gnus-treat-date-original (head)
+@item gnus-treat-date-iso8601 (head)
+@item gnus-treat-date-user-defined (head)
 @item gnus-treat-strip-headers-in-body (t, integer)
 @item gnus-treat-strip-trailing-blank-lines (t, last, integer)
 @item gnus-treat-strip-leading-blank-lines (t, integer)
 @item gnus-treat-strip-headers-in-body (t, integer)
 @item gnus-treat-strip-trailing-blank-lines (t, last, integer)
 @item gnus-treat-strip-leading-blank-lines (t, integer)
@@ -9510,7 +9637,6 @@ on your setup (@pxref{Posting Server}).
 
 @menu
 * Mail::                 Mailing and replying.
 
 @menu
 * Mail::                 Mailing and replying.
-* Post::                 Posting and following up.
 * Posting Server::       What server should you post via?
 * Mail and Post::        Mailing and posting at the same time.
 * Archived Messages::    Where Gnus stores the messages you've sent.
 * Posting Server::       What server should you post via?
 * Mail and Post::        Mailing and posting at the same time.
 * Archived Messages::    Where Gnus stores the messages you've sent.
@@ -9540,37 +9666,6 @@ headers will be included in the sequence they are matched.
 If non-@code{nil}, add a @code{to-list} group parameter to mail groups
 that have none when you do a @kbd{a}.
 
 If non-@code{nil}, add a @code{to-list} group parameter to mail groups
 that have none when you do a @kbd{a}.
 
-@item message-send-mail-partially-limit
-@vindex message-send-mail-partially-limit
-The limitation of messages sent as message/partial.
-The lower bound of message size in characters, beyond which the message 
-should be sent in several parts. If it is nil, the size is unlimited.
-
-@end table
-
-
-@node Post
-@section Post
-
-Variables for composing news articles:
-
-@table @code
-@item gnus-sent-message-ids-file
-@vindex gnus-sent-message-ids-file
-Gnus will keep a @code{Message-ID} history file of all the mails it has
-sent.  If it discovers that it has already sent a mail, it will ask the
-user whether to re-send the mail.  (This is primarily useful when
-dealing with @sc{soup} packets and the like where one is apt to send the
-same packet multiple times.)  This variable says what the name of this
-history file is.  It is @file{~/News/Sent-Message-IDs} by default.  Set
-this variable to @code{nil} if you don't want Gnus to keep a history
-file.
-
-@item gnus-sent-message-ids-length
-@vindex gnus-sent-message-ids-length
-This variable says how many @code{Message-ID}s to keep in the history
-file.  It is 1000 by default.
-
 @end table
 
 
 @end table
 
 
@@ -9685,7 +9780,7 @@ use to store sent messages.  The default is:
 @end lisp
 
 You can, however, use any mail select method (@code{nnml},
 @end lisp
 
 You can, however, use any mail select method (@code{nnml},
-@code{nnmbox}, etc.).  @code{nnfolder} is a quite likeable select method
+@code{nnmbox}, etc.).  @code{nnfolder} is a quite likable select method
 for doing this sort of thing, though.  If you don't like the default
 directory chosen, you could say something like:
 
 for doing this sort of thing, though.  If you don't like the default
 directory chosen, you could say something like:
 
@@ -9798,6 +9893,11 @@ of names).
 
 This variable can be used instead of @code{gnus-message-archive-group},
 but the latter is the preferred method.
 
 This variable can be used instead of @code{gnus-message-archive-group},
 but the latter is the preferred method.
+
+@item gnus-inews-mark-gcc-as-read
+@vindex gnus-inews-mark-gcc-as-read
+If non-@code{nil}, automatically mark @code{Gcc} articles as read.
+
 @end table
 
 
 @end table
 
 
@@ -9841,13 +9941,13 @@ signature and the @samp{What me?} @code{Organization} header.
 
 The first element in each style is called the @code{match}.  If it's a
 string, then Gnus will try to regexp match it against the group name.
 
 The first element in each style is called the @code{match}.  If it's a
 string, then Gnus will try to regexp match it against the group name.
-If it is the symbol @code{header}, then Gnus will look for header that
-match the next element in the match, and compare that to the last header
-in the match.  If it's a function symbol, that function will be called
-with no arguments.  If it's a variable symbol, then the variable will be
-referenced.  If it's a list, then that list will be @code{eval}ed.  In
-any case, if this returns a non-@code{nil} value, then the style is said
-to @dfn{match}.
+If it is the symbol @code{header}, then Gnus will look for header (the
+next element in the match) in the original article , and compare that to
+the last regexp in the match.  If it's a function symbol, that function
+will be called with no arguments.  If it's a variable symbol, then the
+variable will be referenced.  If it's a list, then that list will be
+@code{eval}ed.  In any case, if this returns a non-@code{nil} value,
+then the style is said to @dfn{match}.
 
 Each style may contain a arbitrary amount of @dfn{attributes}.  Each
 attribute consists of a @code{(@var{name} . @var{value})} pair.  The
 
 Each style may contain a arbitrary amount of @dfn{attributes}.  Each
 attribute consists of a @code{(@var{name} . @var{value})} pair.  The
@@ -9888,17 +9988,25 @@ So here's a new example:
          (signature my-quote-randomizer))
         ((message-news-p)
          (signature my-news-signature))
          (signature my-quote-randomizer))
         ((message-news-p)
          (signature my-news-signature))
-        (header "From\\|To" "larsi.*org"
-         (Organization "Somewhere, Inc."))
+        (header "to" "larsi.*org"
+                (Organization "Somewhere, Inc."))
         ((posting-from-work-p)
          (signature-file "~/.work-signature")
          (address "user@@bar.foo")
          (body "You are fired.\n\nSincerely, your boss.")
          (organization "Important Work, Inc"))
         ((posting-from-work-p)
          (signature-file "~/.work-signature")
          (address "user@@bar.foo")
          (body "You are fired.\n\nSincerely, your boss.")
          (organization "Important Work, Inc"))
+        ("nnml:.*"
+         (From (save-excursion
+                 (set-buffer gnus-article-buffer)
+                 (message-fetch-field "to"))))
         ("^nn.+:"
          (signature-file "~/.mail-signature"))))
 @end lisp
 
         ("^nn.+:"
          (signature-file "~/.mail-signature"))))
 @end lisp
 
+The @samp{nnml:.*} rule means that you use the @code{To} address as the
+@code{From} address in all your outgoing replies, which might be handy
+if you fill many roles.
+
 
 @node Drafts
 @section Drafts
 
 @node Drafts
 @section Drafts
@@ -9995,16 +10103,17 @@ typically enter that group and send all the articles off.
 @section Using GPG
 @cindex using gpg
 
 @section Using GPG
 @cindex using gpg
 
-Gnus has an ALPHA support to GPG that's provided by @file{gpg.el} and
-@file{mml2015.el}. When viewing signed or encrypted messages, Gnus automatically
-asks if you want to verify or decrypt them. 
+Gnus has an ALPHA support to GPG that's provided by @file{gpg.el}. See
+@code{mm-verify-option} and @code{mm-decrypt-option} to enable Gnus to
+verify or decrypt messages accordingly.
 
 To use this correctly with GPG, you'll need the following lisp code in your
 @file{~/.emacs} or @file{~/.gnus}:
 
 @lisp
 
 To use this correctly with GPG, you'll need the following lisp code in your
 @file{~/.emacs} or @file{~/.gnus}:
 
 @lisp
+(require 'gpg)
 (setq mml2015-use 'gpg)
 (setq mml2015-use 'gpg)
-(setq gpg-temp-directory "~/.gnupg/tmp")
+(setq gpg-temp-directory (expand-file-name "~/.gnupg/tmp"))
 @end lisp
 
 The @code{gpg-temp-directory} need to point to a directory with permissions set
 @end lisp
 
 The @code{gpg-temp-directory} need to point to a directory with permissions set
@@ -10025,14 +10134,14 @@ your @file{~/.emacs} or @file{~/.gnus}:
 (setq gpg-command-default-alist (quote ((gpg . "gpg") (gpg-2comp . "gpg"))))
 @end lisp
 
 (setq gpg-command-default-alist (quote ((gpg . "gpg") (gpg-2comp . "gpg"))))
 @end lisp
 
-To sign or encrypt your message you may choose to use the MML Security menu or
-@kbd{M-m s p} to sign your message using PGP/MIME, @kbd{M-m s s} to sign your
-message using S/MIME. There's also @kbd{M-m c p} to encrypt your message with
-PGP/MIME and @kbd{M-m c s} to encrypt using S/MIME.
-
-Gnus will ask for your passphrase three times and then it will send your
-message, if you've typed it correctly.
+To sign or encrypt your message you may choose to use the MML Security
+menu or @kbd{C-c C-m s p} to sign your message using PGP/MIME, @kbd{C-c
+C-m s s} to sign your message using S/MIME. There's also @kbd{C-c C-m c
+p} to encrypt your message with PGP/MIME and @kbd{C-c C-m c s} to
+encrypt using S/MIME.
 
 
+Gnus will ask for your passphrase and then it will send your message, if
+you've typed it correctly.
 
 @node Select Methods
 @chapter Select Methods
 
 @node Select Methods
 @chapter Select Methods
@@ -10095,7 +10204,7 @@ These select method specifications can sometimes become quite
 complicated---say, for instance, that you want to read from the
 @sc{nntp} server @samp{news.funet.fi} on port number 13, which
 hangs if queried for @sc{nov} headers and has a buggy select.  Ahem.
 complicated---say, for instance, that you want to read from the
 @sc{nntp} server @samp{news.funet.fi} on port number 13, which
 hangs if queried for @sc{nov} headers and has a buggy select.  Ahem.
-Anyways, if you had to specify that for each group that used this
+Anyway, if you had to specify that for each group that used this
 server, that would be too much work, so Gnus offers a way of naming
 select methods, which is what you do in the server buffer.
 
 server, that would be too much work, so Gnus offers a way of naming
 select methods, which is what you do in the server buffer.
 
@@ -10214,7 +10323,7 @@ servers.
 @findex gnus-server-regenerate-server
 Request that the server regenerate all its data structures
 (@code{gnus-server-regenerate-server}).  This can be useful if you have
 @findex gnus-server-regenerate-server
 Request that the server regenerate all its data structures
 (@code{gnus-server-regenerate-server}).  This can be useful if you have
-a mail backend that has gotten out of synch.
+a mail backend that has gotten out of sync.
 
 @end table
 
 
 @end table
 
@@ -10517,15 +10626,16 @@ The file contains one or more line, each of which define one server.
 
 @item
 Each line may contain an arbitrary number of token/value pairs.  
 
 @item
 Each line may contain an arbitrary number of token/value pairs.  
-@end enumerate
 
 The valid tokens include @samp{machine}, @samp{login}, @samp{password},
 
 The valid tokens include @samp{machine}, @samp{login}, @samp{password},
-@samp{default}.  Gnus introduce two new tokens, not present in the
-original @file{.netrc}/@code{ftp} syntax, namely @samp{port} and
+@samp{default}.  In addition Gnus introduces two new tokens, not present
+in the original @file{.netrc}/@code{ftp} syntax, namely @samp{port} and
 @samp{force}.  (This is the only way the @file{.authinfo} file format
 @samp{force}.  (This is the only way the @file{.authinfo} file format
-deviates from the @file{.netrc} file format.) @samp{port} is used to
-indicate what port on the server the credentials apply to, @samp{force}
-is explained below.
+deviates from the @file{.netrc} file format.)  @samp{port} is used to
+indicate what port on the server the credentials apply to and
+@samp{force} is explained below.
+
+@end enumerate
 
 Here's an example file:
 
 
 Here's an example file:
 
@@ -10707,8 +10817,8 @@ This works for Solaris @code{telnet}, for instance.
 @item nntp-open-ssl-stream
 Opens a connection to a server over a @dfn{secure} channel.  To use this
 you must have SSLay installed
 @item nntp-open-ssl-stream
 Opens a connection to a server over a @dfn{secure} channel.  To use this
 you must have SSLay installed
-(@file{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL}, and you also need
-@file{ssl.el} (from the W3 distributeion, for instance).  You then
+(@uref{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL}, and you also need
+@file{ssl.el} (from the W3 distribution, for instance).  You then
 define a server as follows:
 
 @lisp
 define a server as follows:
 
 @lisp
@@ -10787,7 +10897,7 @@ server closes connection.
 @item nntp-record-commands
 @vindex nntp-record-commands
 If non-@code{nil}, @code{nntp} will log all commands it sends to the
 @item nntp-record-commands
 @vindex nntp-record-commands
 If non-@code{nil}, @code{nntp} will log all commands it sends to the
-@sc{nntp} server (along with a timestep) in the @samp{*nntp-log*}
+@sc{nntp} server (along with a timestamp) in the @samp{*nntp-log*}
 buffer.  This is useful if you are debugging a Gnus/@sc{nntp} connection
 that doesn't seem to work.
 
 buffer.  This is useful if you are debugging a Gnus/@sc{nntp} connection
 that doesn't seem to work.
 
@@ -10804,7 +10914,7 @@ and might be useful, for instance, to speed up reading groups that
 contain very big articles---@samp{alt.binaries.pictures.furniture}, for
 instance.
 
 contain very big articles---@samp{alt.binaries.pictures.furniture}, for
 instance.
 
-Anyways, you just specify @code{nnspool} as the method and @code{""} (or
+Anyway, you just specify @code{nnspool} as the method and @code{""} (or
 anything else) as the address.
 
 If you have access to a local spool, you should probably use that as the
 anything else) as the address.
 
 If you have access to a local spool, you should probably use that as the
@@ -11221,7 +11331,8 @@ The name of the POP server.  The default is taken from the
 The port number of the POP server.  This can be a number (eg,
 @samp{:port 1234}) or a string (eg, @samp{:port "pop3"}).  If it is a
 string, it should be a service name as listed in @file{/etc/services} on
 The port number of the POP server.  This can be a number (eg,
 @samp{:port 1234}) or a string (eg, @samp{:port "pop3"}).  If it is a
 string, it should be a service name as listed in @file{/etc/services} on
-Unix systems.  The default is @samp{"pop3"}.
+Unix systems.  The default is @samp{"pop3"}.  On some systems you might
+need to specify it as @samp{"pop-3"} instead.
 
 @item :user
 The user name to give to the POP server.  The default is the login
 
 @item :user
 The user name to give to the POP server.  The default is the login
@@ -11232,7 +11343,7 @@ The password to give to the POP server.  If not specified, the user is
 prompted.
 
 @item :program
 prompted.
 
 @item :program
-The program to use to fetch mail from the POP server.  This is should be
+The program to use to fetch mail from the POP server.  This should be
 a @code{format}-like string.  Here's an example:
 
 @example
 a @code{format}-like string.  Here's an example:
 
 @example
@@ -11342,10 +11453,11 @@ Two example maildir mail sources:
 @end lisp
 
 @item imap
 @end lisp
 
 @item imap
-Get mail from a @sc{imap} server.  If you don't want to use @sc{imap} as
-intended, as a network mail reading protocol (ie with nnimap), for some
-reason or other, Gnus let you treat it similar to a POP server and
-fetches articles from a given @sc{imap} mailbox.
+Get mail from a @sc{imap} server.  If you don't want to use @sc{imap}
+as intended, as a network mail reading protocol (ie with nnimap), for
+some reason or other, Gnus let you treat it similar to a POP server
+and fetches articles from a given @sc{imap} mailbox.  @xref{IMAP}, for
+more information.
 
 Keywords:
 
 
 Keywords:
 
@@ -11377,6 +11489,31 @@ of the symbols in @code{imap-authenticator-alist}.  Right now, this
 means @samp{kerberos4}, @samp{cram-md5}, @samp{anonymous} or the default
 @samp{login}.
 
 means @samp{kerberos4}, @samp{cram-md5}, @samp{anonymous} or the default
 @samp{login}.
 
+@item :program
+When using the `shell' :stream, the contents of this variable is
+mapped into the `imap-shell-program' variable.  This should be a
+@code{format}-like string (or list of strings).  Here's an example:
+
+@example
+ssh %s imapd
+@end example
+
+The valid format specifier characters are:
+
+@table @samp
+@item s
+The name of the server.
+
+@item l
+User name from `imap-default-user'.
+
+@item p
+The port number of the server.
+@end table
+
+The values used for these specs are taken from the values you give the
+corresponding keywords.
+
 @item :mailbox
 The name of the mailbox to get mail from.  The default is @samp{INBOX}
 which normally is the mailbox which receive incoming mail.
 @item :mailbox
 The name of the mailbox to get mail from.  The default is @samp{INBOX}
 which normally is the mailbox which receive incoming mail.
@@ -11471,7 +11608,7 @@ useful when you use local mail and news.
 @end table
 @end table
 
 @end table
 @end table
 
-@subsubheading Function Interface
+@subsubsection Function Interface
 
 Some of the above keywords specify a Lisp function to be executed.
 For each keyword @code{:foo}, the Lisp variable @code{foo} is bound to
 
 Some of the above keywords specify a Lisp function to be executed.
 For each keyword @code{:foo}, the Lisp variable @code{foo} is bound to
@@ -11777,6 +11914,44 @@ matched string will be substituted.  Similarly, the elements @samp{\\1}
 up to @samp{\\9} will be substituted with the text matched by the
 groupings 1 through 9.
 
 up to @samp{\\9} will be substituted with the text matched by the
 groupings 1 through 9.
 
+@findex nnmail-split-fancy-with-parent
+@code{nnmail-split-fancy-with-parent} is a function which allows you to
+split followups into the same groups their parents are in.  Sometimes
+you can't make splitting rules for all your mail.  For example, your
+boss might send you personal mail regarding different projects you are
+working on, and as you can't tell your boss to put a distinguishing
+string into the subject line, you have to resort to manually moving the
+messages into the right group.  With this function, you only have to do
+it once per thread.
+
+To use this feature, you have to set @code{nnmail-treat-duplicates} to a
+non-nil value.  And then you can include
+@code{nnmail-split-fancy-with-parent} using the colon feature, like so:
+@lisp
+(setq nnmail-split-fancy
+      '(| (: nnmail-split-fancy-with-parent)
+          ;; other splits go here
+        ))
+@end lisp
+
+This feature works as follows: when @code{nnmail-treat-duplicates} is
+non-nil, Gnus records the message id of every message it sees in the
+file specified by the variable @code{nnmail-message-id-cache-file},
+together with the group it is in (the group is omitted for non-mail
+messages).  When mail splitting is invoked, the function
+@code{nnmail-split-fancy-with-parent} then looks at the References (and
+In-Reply-To) header of each message to split and searches the file
+specified by @code{nnmail-message-id-cache-file} for the message ids.
+When it has found a parent, it returns the corresponding group name.  It
+is recommended that you set @code{nnmail-message-id-cache-length} to a
+somewhat higher number than the default so that the message ids are
+still in the cache.  (A value of 5000 appears to create a file some 300
+kBytes in size.)
+@vindex nnmail-cache-accepted-message-ids
+When @code{nnmail-cache-accepted-message-ids} is non-@code{nil}, Gnus
+also records the message ids of moved articles, so that the followup
+messages goes into the new group.
+
 
 @node Group Mail Splitting
 @subsection Group Mail Splitting
 
 @node Group Mail Splitting
 @subsection Group Mail Splitting
@@ -11820,9 +11995,13 @@ by defining a single @code{&} fancy split containing one split for each
 group.  If a message doesn't match any split, it will be stored in the
 group named in @code{gnus-group-split-default-catch-all-group}, unless
 some group has @var{split-spec} set to @code{catch-all}, in which case
 group.  If a message doesn't match any split, it will be stored in the
 group named in @code{gnus-group-split-default-catch-all-group}, unless
 some group has @var{split-spec} set to @code{catch-all}, in which case
-that group is used as the catch-all group.  Note that, in this case,
-there's no cross-posting, as a @code{|} fancy split encloses the
-@code{&} split and the catch-all group.
+that group is used as the catch-all group.  Even though this variable is
+often used just to name a group, it may also be set to an arbitrarily
+complex fancy split (after all, a group name is a fancy split), and this
+may be useful to split mail that doesn't go to any mailing list to
+personal mail folders.  Note that this fancy split is added as the last
+element of a @code{|} split list that also contains a @code{&} split
+with the rules extracted from group parameters.
 
 It's time for an example.  Assume the following group parameters have
 been defined:
 
 It's time for an example.  Assume the following group parameters have
 been defined:
@@ -11863,9 +12042,9 @@ splits like this:
 @var{groups} may be a regular expression or a list of group names whose
 parameters will be scanned to generate the output split.
 @var{no-crosspost} can be used to disable cross-posting; in this case, a
 @var{groups} may be a regular expression or a list of group names whose
 parameters will be scanned to generate the output split.
 @var{no-crosspost} can be used to disable cross-posting; in this case, a
-single @code{|} split will be output.  @var{catch-all} may be the name
-of a group to be used as the default catch-all group.  If
-@var{catch-all} is @code{nil}, or if @var{split-regexp} matches the
+single @code{|} split will be output.  @var{catch-all} is the fallback
+fancy split, used like @var{gnus-group-split-default-catch-all-group}.
+If @var{catch-all} is @code{nil}, or if @var{split-regexp} matches the
 empty string in any selected group, no catch-all split will be issued.
 Otherwise, if some group has @var{split-spec} set to @code{catch-all},
 this group will override the value of the @var{catch-all} argument.
 empty string in any selected group, no catch-all split will be issued.
 Otherwise, if some group has @var{split-spec} set to @code{catch-all},
 this group will override the value of the @var{catch-all} argument.
@@ -11874,14 +12053,14 @@ this group will override the value of the @var{catch-all} argument.
 Unfortunately, scanning all groups and their parameters can be quite
 slow, especially considering that it has to be done for every message.
 But don't despair!  The function @code{gnus-group-split-setup} can be
 Unfortunately, scanning all groups and their parameters can be quite
 slow, especially considering that it has to be done for every message.
 But don't despair!  The function @code{gnus-group-split-setup} can be
-used to select @code{gnus-group-split} in a much more efficient way.  It
+used to enable @code{gnus-group-split} in a much more efficient way.  It
 sets @code{nnmail-split-methods} to @code{nnmail-split-fancy} and sets
 @code{nnmail-split-fancy} to the split produced by
 @code{gnus-group-split-fancy}.  Thus, the group parameters are only
 scanned once, no matter how many messages are split.
 
 @findex gnus-group-split-update
 sets @code{nnmail-split-methods} to @code{nnmail-split-fancy} and sets
 @code{nnmail-split-fancy} to the split produced by
 @code{gnus-group-split-fancy}.  Thus, the group parameters are only
 scanned once, no matter how many messages are split.
 
 @findex gnus-group-split-update
-However, if you change group parameters, you have to update
+However, if you change group parameters, you'd have to update
 @code{nnmail-split-fancy} manually.  You can do it by running
 @code{gnus-group-split-update}.  If you'd rather have it updated
 automatically, just tell @code{gnus-group-split-setup} to do it for
 @code{nnmail-split-fancy} manually.  You can do it by running
 @code{gnus-group-split-update}.  If you'd rather have it updated
 automatically, just tell @code{gnus-group-split-setup} to do it for
@@ -11894,7 +12073,7 @@ you.  For example, add to your @file{.gnus}:
 If @var{auto-update} is non-@code{nil}, @code{gnus-group-split-update}
 will be added to @code{nnmail-pre-get-new-mail-hook}, so you won't ever
 have to worry about updating @code{nnmail-split-fancy} again.  If you
 If @var{auto-update} is non-@code{nil}, @code{gnus-group-split-update}
 will be added to @code{nnmail-pre-get-new-mail-hook}, so you won't ever
 have to worry about updating @code{nnmail-split-fancy} again.  If you
-don't omit @var{catch-all} (it's optional),
+don't omit @var{catch-all} (it's optional, equivalent to @code{nil}),
 @code{gnus-group-split-default-catch-all-group} will be set to its
 value.
 
 @code{gnus-group-split-default-catch-all-group} will be set to its
 value.
 
@@ -12522,6 +12701,10 @@ Hook run in a buffer narrowed to the message that is to be deleted.
 This function can be used to copy the message to somewhere else, or to
 extract some information from it before removing it.
 
 This function can be used to copy the message to somewhere else, or to
 extract some information from it before removing it.
 
+@item nnfolder-nov-is-evil
+@vindex nnfolder-nov-is-evil
+If non-@code{nil}, this backend will ignore any @sc{nov} files.
+
 @end table
 
 
 @end table
 
 
@@ -12798,7 +12981,7 @@ Format string URL to fetch an article by @code{Message-ID}.
 @cindex Slashdot
 @cindex nnslashdot
 
 @cindex Slashdot
 @cindex nnslashdot
 
-Slashdot (@file{http://slashdot.org/}) is a popular news site, with
+Slashdot (@uref{http://slashdot.org/}) is a popular news site, with
 lively discussion following the news articles.  @code{nnslashdot} will
 let you read this forum in a convenient manner.
 
 lively discussion following the news articles.  @code{nnslashdot} will
 let you read this forum in a convenient manner.
 
@@ -12888,7 +13071,7 @@ updated.  The default is 0.
 @cindex nnultimate
 @cindex Ultimate Bulletin Board
 
 @cindex nnultimate
 @cindex Ultimate Bulletin Board
 
-The Ultimate Bulletin Board (@file{http://www.ultimatebb.com/}) is
+The Ultimate Bulletin Board (@uref{http://www.ultimatebb.com/}) is
 probably the most popular Web bulletin board system used.  It has a
 quite regular and nice interface, and it's possible to get the
 information Gnus needs to keep groups updated.
 probably the most popular Web bulletin board system used.  It has a
 quite regular and nice interface, and it's possible to get the
 information Gnus needs to keep groups updated.
@@ -12917,8 +13100,8 @@ The directory where @code{nnultimate} stores its files.  The default is
 @cindex Web Archive
 
 Some mailing lists only have archives on Web servers, such as
 @cindex Web Archive
 
 Some mailing lists only have archives on Web servers, such as
-@file{http://www.egroups.com/} and
-@file{http://www.mail-archive.com/}.  It has a quite regular and nice
+@uref{http://www.egroups.com/} and
+@uref{http://www.mail-archive.com/}.  It has a quite regular and nice
 interface, and it's possible to get the information Gnus needs to keep
 groups updated.
 
 interface, and it's possible to get the information Gnus needs to keep
 groups updated.
 
@@ -13669,9 +13852,25 @@ So, to use this, simply say something like:
 @cindex @sc{imap}
 
 @sc{imap} is a network protocol for reading mail (or news, or ...),
 @cindex @sc{imap}
 
 @sc{imap} is a network protocol for reading mail (or news, or ...),
-think of it as a modernized @sc{nntp}.  Connecting to a @sc{imap} server
-is much similar to connecting to a news server, you just specify the
-network address of the server.
+think of it as a modernized @sc{nntp}.  Connecting to a @sc{imap}
+server is much similar to connecting to a news server, you just
+specify the network address of the server.
+
+@sc{imap} has two properties.  First, @sc{imap} can do everything that
+POP can, it can hence be viewed as POP++.  Secondly, @sc{imap} is a
+mail storage protocol, similar to @sc{nntp} being a news storage
+protocol.  (@sc{imap} offers more features than @sc{nntp} because news
+is more or less read-only whereas mail is read-write.)
+
+If you want to use @sc{imap} as POP++, use an imap entry in
+mail-sources.  With this, Gnus will fetch mails from the @sc{imap}
+server and store them on the local disk.  This is not the usage
+described in this section.  @xref{Mail Sources}.
+
+If you want to use @sc{imap} as a mail storage protocol, use an nnimap
+entry in gnus-secondary-select-methods.  With this, Gnus will
+manipulate mails stored on the @sc{imap} server.  This is the kind of
+usage explained in this section.
 
 A server configuration in @code{~/.gnus} with a few @sc{imap} servers
 might look something like this:
 
 A server configuration in @code{~/.gnus} with a few @sc{imap} servers
 might look something like this:
@@ -13773,7 +13972,7 @@ SSL). Require the external library @samp{starttls.el} and program
 @dfn{ssl:} Connect through SSL. Require OpenSSL (the
 program @samp{openssl}) or SSLeay (@samp{s_client}).
 @item
 @dfn{ssl:} Connect through SSL. Require OpenSSL (the
 program @samp{openssl}) or SSLeay (@samp{s_client}).
 @item
-@dfn{shell:} Use a shell command to start IMAP connection.
+@dfn{shell:} Use a shell command to start @sc{imap} connection.
 @item
 @dfn{network:} Plain, TCP/IP network connection.
 @end itemize
 @item
 @dfn{network:} Plain, TCP/IP network connection.
 @end itemize
@@ -13786,7 +13985,7 @@ program.
 
 @vindex imap-ssl-program
 For SSL connections, the OpenSSL program is available from
 
 @vindex imap-ssl-program
 For SSL connections, the OpenSSL program is available from
-@file{http://www.openssl.org/}. OpenSSL was formerly known as SSLeay,
+@uref{http://www.openssl.org/}. OpenSSL was formerly known as SSLeay,
 and nnimap support it too - altough the most recent versions of
 SSLeay, 0.9.x, are known to have serious bugs making it
 useless. Earlier versions, especially 0.8.x, of SSLeay are known to
 and nnimap support it too - altough the most recent versions of
 SSLeay, 0.9.x, are known to have serious bugs making it
 useless. Earlier versions, especially 0.8.x, of SSLeay are known to
@@ -13795,7 +13994,7 @@ to OpenSSL/SSLeay.
 
 @vindex imap-shell-program
 @vindex imap-shell-host
 
 @vindex imap-shell-program
 @vindex imap-shell-host
-For IMAP connections using the @code{shell} stream, the variable
+For @sc{imap} connections using the @code{shell} stream, the variable
 @code{imap-shell-program} specify what program to call.
 
 @item nnimap-authenticator
 @code{imap-shell-program} specify what program to call.
 
 @item nnimap-authenticator
@@ -13839,7 +14038,7 @@ doesn't exist actually does exist.  More specifically, @sc{imap} has
 this concept of marking articles @code{Deleted} which doesn't actually
 delete them, and this (marking them @code{Deleted}, that is) is what
 nnimap does when you delete a article in Gnus (with @kbd{G DEL} or
 this concept of marking articles @code{Deleted} which doesn't actually
 delete them, and this (marking them @code{Deleted}, that is) is what
 nnimap does when you delete a article in Gnus (with @kbd{G DEL} or
-similair).
+similar).
 
 Since the articles aren't really removed when we mark them with the
 @code{Deleted} flag we'll need a way to actually delete them.  Feel like
 
 Since the articles aren't really removed when we mark them with the
 @code{Deleted} flag we'll need a way to actually delete them.  Feel like
@@ -13854,7 +14053,7 @@ The possible options are:
 @table @code
 
 @item always
 @table @code
 
 @item always
-The default behaviour, delete all articles marked as "Deleted" when
+The default behavior, delete all articles marked as "Deleted" when
 closing a mailbox.
 @item never
 Never actually delete articles.  Currently there is no way of showing
 closing a mailbox.
 @item never
 Never actually delete articles.  Currently there is no way of showing
@@ -13970,7 +14169,7 @@ if it thinks that the mail belongs in that group.
 Nnmail users might recollect that the last regexp had to be empty to
 match all articles (like in the example above).  This is not required in
 nnimap.  Articles not matching any of the regexps will not be moved out
 Nnmail users might recollect that the last regexp had to be empty to
 match all articles (like in the example above).  This is not required in
 nnimap.  Articles not matching any of the regexps will not be moved out
-of your inbox.  (This might might affect performance if you keep lots of
+of your inbox.  (This might affect performance if you keep lots of
 unread articles in your inbox, since the splitting code would go over
 them every time you fetch new mail.)
 
 unread articles in your inbox, since the splitting code would go over
 them every time you fetch new mail.)
 
@@ -13980,7 +14179,7 @@ crossposting enabled.  In that case, all matching rules will "win".
 
 This variable can also have a function as its value, the function will
 be called with the headers narrowed and should return a group where it
 
 This variable can also have a function as its value, the function will
 be called with the headers narrowed and should return a group where it
-thinks the article should be splitted to.  See @code{nnimap-split-fancy}.
+thinks the article should be split to.  See @code{nnimap-split-fancy}.
 
 The splitting code tries to create mailboxes if it need too.
 
 
 The splitting code tries to create mailboxes if it need too.
 
@@ -14011,7 +14210,7 @@ Nnmail equivalent: @code{nnmail-split-methods}.
 @vindex nnimap-split-predicate
 
 Mail matching this predicate in @code{nnimap-split-inbox} will be
 @vindex nnimap-split-predicate
 
 Mail matching this predicate in @code{nnimap-split-inbox} will be
-splitted, it is a string and the default is @samp{UNSEEN UNDELETED}.
+split, it is a string and the default is @samp{UNSEEN UNDELETED}.
 
 This might be useful if you use another @sc{imap} client to read mail in
 your inbox but would like Gnus to split all articles in the inbox
 
 This might be useful if you use another @sc{imap} client to read mail in
 your inbox but would like Gnus to split all articles in the inbox
@@ -14411,7 +14610,7 @@ predicates an additional score rule is superfluous.
 
 Predicates of @code{high} or @code{low} download articles in respect of
 their scores in relationship to @code{gnus-agent-high-score} and
 
 Predicates of @code{high} or @code{low} download articles in respect of
 their scores in relationship to @code{gnus-agent-high-score} and
-@code{gnus-agent-low-score} as descibed below.
+@code{gnus-agent-low-score} as described below.
 
 To gain even finer control of what is to be regarded eligible for
 download a predicate can consist of a number of predicates with logical
 
 To gain even finer control of what is to be regarded eligible for
 download a predicate can consist of a number of predicates with logical
@@ -14507,7 +14706,7 @@ wherever.  (Note: this would have to be at a point *after*
 @code{gnus-agent} has been loaded via @code{(gnus-agentize)})
 
 @lisp
 @code{gnus-agent} has been loaded via @code{(gnus-agentize)})
 
 @lisp
-(defvar  gnus-category-predicate-alist
+(setq  gnus-category-predicate-alist
   (append gnus-category-predicate-alist
         '((old . my-article-old-p))))
 @end lisp
   (append gnus-category-predicate-alist
         '((old . my-article-old-p))))
 @end lisp
@@ -14521,7 +14720,7 @@ and simply specify your predicate as:
 If/when using something like the above, be aware that there are many
 misconfigured systems/mailers out there and so an article's date is not
 always a reliable indication of when it was posted.  Hell, some people
 If/when using something like the above, be aware that there are many
 misconfigured systems/mailers out there and so an article's date is not
 always a reliable indication of when it was posted.  Hell, some people
-just don't give a damm.
+just don't give a damn.
 
 The above predicates apply to *all* the groups which belong to the
 category.  However, if you wish to have a specific predicate for an
 
 The above predicates apply to *all* the groups which belong to the
 category.  However, if you wish to have a specific predicate for an
@@ -14632,14 +14831,14 @@ about parenthesis?
 @item
 Use @code{normal} score files
 
 @item
 Use @code{normal} score files
 
-If you dont want to maintain two sets of scoring rules for a group, and
+If you don't want to maintain two sets of scoring rules for a group, and
 your desired @code{downloading} criteria for a group are the same as your
 @code{reading} criteria then you can tell the agent to refer to your
 @code{normal} score files when deciding what to download.
 
 These directives in either the category definition or a group's
 parameters will cause the agent to read in all the applicable score
 your desired @code{downloading} criteria for a group are the same as your
 @code{reading} criteria then you can tell the agent to refer to your
 @code{normal} score files when deciding what to download.
 
 These directives in either the category definition or a group's
 parameters will cause the agent to read in all the applicable score
-files for a group, *filtering out* those those sections that do not
+files for a group, *filtering out* those sections that do not
 relate to one of the permitted subset of scoring keywords.
 
 @itemize @bullet
 relate to one of the permitted subset of scoring keywords.
 
 @itemize @bullet
@@ -14908,20 +15107,20 @@ unread, ticked and dormant articles will be kept indefinitely.
 @node Agent and IMAP
 @subsection Agent and IMAP
 
 @node Agent and IMAP
 @subsection Agent and IMAP
 
-The Agent work with any Gnus backend, including nnimap.  However, since
-there are some conceptual differences between NNTP and IMAP, this
-section (should) provide you with some information to make Gnus Agent
-work smoother as a IMAP Disconnected Mode client.
+The Agent work with any Gnus backend, 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.
 
 The first thing to keep in mind is that all flags (read, ticked, etc)
 
 The first thing to keep in mind is that all flags (read, ticked, etc)
-are kept on the IMAP server, rather than in @code{.newsrc} as is the
+are kept on the @sc{imap} server, rather than in @code{.newsrc} as is the
 case for nntp.  Thus Gnus need to remember flag changes when
 disconnected, and synchronize these flags when you plug back in.
 
 Gnus keep track of flag changes when reading nnimap groups under the
 Agent by default.  When you plug back in, by default Gnus will check if
 case for nntp.  Thus Gnus need to remember flag changes when
 disconnected, and synchronize these flags when you plug back in.
 
 Gnus keep track of flag changes when reading nnimap groups under the
 Agent by default.  When you plug back in, by default Gnus will check if
-you have any changed any flags and ask if you wish to synchronize theese
-with the server.  This behaviour is customizable with
+you have any changed any flags and ask if you wish to synchronize these
+with the server.  This behavior is customizable with
 @code{gnus-agent-synchronize-flags}.
 
 @vindex gnus-agent-synchronize-flags
 @code{gnus-agent-synchronize-flags}.
 
 @vindex gnus-agent-synchronize-flags
@@ -14937,7 +15136,7 @@ re-connect, this can be done manually with the
 in the group buffer by default.
 
 Some things are currently not implemented in the Agent that you'd might
 in the group buffer by default.
 
 Some things are currently not implemented in the Agent that you'd might
-expect from a disconnected IMAP client, including:
+expect from a disconnected @sc{imap} client, including:
 
 @itemize @bullet
 
 
 @itemize @bullet
 
@@ -15896,7 +16095,7 @@ the @code{gnus-default-adaptive-score-alist} variable.  For instance, it
 might look something like this:
 
 @lisp
 might look something like this:
 
 @lisp
-(defvar gnus-default-adaptive-score-alist
+(setq gnus-default-adaptive-score-alist
   '((gnus-unread-mark)
     (gnus-ticked-mark (from 4))
     (gnus-dormant-mark (from 5))
   '((gnus-unread-mark)
     (gnus-ticked-mark (from 4))
     (gnus-dormant-mark (from 5))
@@ -16059,7 +16258,7 @@ A list.  The elements in this list can be:
 @enumerate
 @item
 @code{(@var{regexp} @var{file-name})}.  If the @var{regexp} matches the
 @enumerate
 @item
 @code{(@var{regexp} @var{file-name})}.  If the @var{regexp} matches the
-group name, the @var{file-name} will will be used as the home score file.
+group name, the @var{file-name} will be used as the home score file.
 
 @item
 A function.  If the function returns non-nil, the result will be used as
 
 @item
 A function.  If the function returns non-nil, the result will be used as
@@ -16151,7 +16350,11 @@ your own article.
 
 @vindex message-sent-hook
 These two functions are both primarily meant to be used in hooks like
 
 @vindex message-sent-hook
 These two functions are both primarily meant to be used in hooks like
-@code{message-sent-hook}.
+@code{message-sent-hook}, like this:
+@lisp
+(add-hook 'message-sent-hook 'gnus-score-followup-thread)
+@end lisp
+
 
 If you look closely at your own @code{Message-ID}, you'll notice that
 the first two or three characters are always the same.  Here's two of
 
 If you look closely at your own @code{Message-ID}, you'll notice that
 the first two or three characters are always the same.  Here's two of
@@ -16168,7 +16371,7 @@ myself:
 
 @lisp
 ("references"
 
 @lisp
 ("references"
- ("<x6[0-9a-z]+\\.fsf\\(_-_\\)?@@.*eyesore.no>"
+ ("<x6[0-9a-z]+\\.fsf\\(_-_\\)?@@.*eyesore\\.no>"
   1000 nil r))
 @end lisp
 
   1000 nil r))
 @end lisp
 
@@ -16425,7 +16628,7 @@ by hand.
 
 The kill to score conversion package isn't included in Gnus by default.
 You can fetch it from
 
 The kill to score conversion package isn't included in Gnus by default.
 You can fetch it from
-@file{http://www.stud.ifi.uio.no/~larsi/ding-various/gnus-kill-to-score.el}.
+@uref{http://www.stud.ifi.uio.no/~larsi/ding-various/gnus-kill-to-score.el}.
 
 If your old kill files are very complex---if they contain more
 non-@code{gnus-kill} forms than not, you'll have to convert them by
 
 If your old kill files are very complex---if they contain more
 non-@code{gnus-kill} forms than not, you'll have to convert them by
@@ -16464,7 +16667,7 @@ article.
 
 To use GroupLens you must register a pseudonym with your local Better
 Bit Bureau (BBB).
 
 To use GroupLens you must register a pseudonym with your local Better
 Bit Bureau (BBB).
-@samp{http://www.cs.umn.edu/Research/GroupLens/bbb.html} is the only
+@uref{http://www.cs.umn.edu/Research/GroupLens/bbb.html} is the only
 better bit in town at the moment.
 
 Once you have registered you'll need to set a couple of variables.
 better bit in town at the moment.
 
 Once you have registered you'll need to set a couple of variables.
@@ -16868,7 +17071,7 @@ four days, Gnus will decay the scores four times, for instance.
 * Compilation::                How to speed Gnus up.
 * Mode Lines::                 Displaying information in the mode lines.
 * Highlighting and Menus::     Making buffers look all nice and cozy.
 * Compilation::                How to speed Gnus up.
 * Mode Lines::                 Displaying information in the mode lines.
 * Highlighting and Menus::     Making buffers look all nice and cozy.
-* Buttons::                    Get tendonitis in ten easy steps!
+* Buttons::                    Get tendinitis in ten easy steps!
 * Daemons::                    Gnus can do things behind your back.
 * NoCeM::                      How to avoid spam and other fatty foods.
 * Undo::                       Some actions can be undone.
 * Daemons::                    Gnus can do things behind your back.
 * NoCeM::                      How to avoid spam and other fatty foods.
 * Undo::                       Some actions can be undone.
@@ -17981,7 +18184,7 @@ never be totally undoable.
 @findex gnus-undo
 The undoability is provided by the @code{gnus-undo-mode} minor mode.  It
 is used if @code{gnus-use-undo} is non-@code{nil}, which is the
 @findex gnus-undo
 The undoability is provided by the @code{gnus-undo-mode} minor mode.  It
 is used if @code{gnus-use-undo} is non-@code{nil}, which is the
-default.  The @kbd{M-C-_} key performs the @code{gnus-undo} command
+default.  The @kbd{M-C-_} key performs the @code{gnus-undo} 
 command, which should feel kinda like the normal Emacs @code{undo}
 command.
 
 command, which should feel kinda like the normal Emacs @code{undo}
 command.
 
@@ -18055,7 +18258,7 @@ advantage of that.
 @end iflatex
 @end iftex
 
 @end iflatex
 @end iftex
 
-So...  You want to slow down your news reader even more!  This is a
+So@dots{}  You want to slow down your news reader even more!  This is a
 good way to do so.  Its also a great way to impress people staring
 over your shoulder as you read news.
 
 good way to do so.  Its also a great way to impress people staring
 over your shoulder as you read news.
 
@@ -18093,12 +18296,12 @@ in either monochrome @code{XBM} format or color @code{XPM} and
 If you have a permanent connection to the Internet you can use Steve
 Kinzler's Picons Search engine by setting
 @code{gnus-picons-piconsearch-url} to the string @*
 If you have a permanent connection to the Internet you can use Steve
 Kinzler's Picons Search engine by setting
 @code{gnus-picons-piconsearch-url} to the string @*
-@file{http://www.cs.indiana.edu/picons/search.html}.
+@uref{http://www.cs.indiana.edu/picons/search.html}.
 
 @vindex gnus-picons-database
 Otherwise you need a local copy of his database.  For instructions on
 obtaining and installing the picons databases, point your Web browser at @*
 
 @vindex gnus-picons-database
 Otherwise you need a local copy of his database.  For instructions on
 obtaining and installing the picons databases, point your Web browser at @*
-@file{http://www.cs.indiana.edu/picons/ftp/index.html}.  Gnus expects
+@uref{http://www.cs.indiana.edu/picons/ftp/index.html}.  Gnus expects
 picons to be installed into a location pointed to by
 @code{gnus-picons-database}.
 
 picons to be installed into a location pointed to by
 @code{gnus-picons-database}.
 
@@ -18172,7 +18375,7 @@ subdirectories.  This is only useful if
 @item gnus-picons-piconsearch-url
 @vindex gnus-picons-piconsearch-url
 The URL for the web picons search engine.  The only currently known
 @item gnus-picons-piconsearch-url
 @vindex gnus-picons-piconsearch-url
 The URL for the web picons search engine.  The only currently known
-engine is @file{http://www.cs.indiana.edu:800/piconsearch}.  To
+engine is @uref{http://www.cs.indiana.edu:800/piconsearch}.  To
 workaround network delays, icons will be fetched in the background.  If
 this is @code{nil} 'the default), then picons are fetched from local
 database indicated by @code{gnus-picons-database}.
 workaround network delays, icons will be fetched in the background.  If
 this is @code{nil} 'the default), then picons are fetched from local
 database indicated by @code{gnus-picons-database}.
@@ -18292,7 +18495,7 @@ Whether to move point to first empty line when displaying picons.  This
 has only an effect if `gnus-picons-display-where' has value `article'.
 
 If @code{nil}, display the picons in the @code{From} and
 has only an effect if `gnus-picons-display-where' has value `article'.
 
 If @code{nil}, display the picons in the @code{From} and
-@code{Newsgroups} lines.  This is the defailt.
+@code{Newsgroups} lines.  This is the default.
 
 @item gnus-picons-clear-cache-on-shutdown
 @vindex gnus-picons-clear-cache-on-shutdown
 
 @item gnus-picons-clear-cache-on-shutdown
 @vindex gnus-picons-clear-cache-on-shutdown
@@ -18504,7 +18707,7 @@ First, pick one (1) valid mail address that you can be reached at, and
 put it in your @code{From} header of all your news articles.  (I've
 chosen @samp{larsi@@trym.ifi.uio.no}, but for many addresses on the form
 @samp{larsi+usenet@@ifi.uio.no} will be a better choice.  Ask your
 put it in your @code{From} header of all your news articles.  (I've
 chosen @samp{larsi@@trym.ifi.uio.no}, but for many addresses on the form
 @samp{larsi+usenet@@ifi.uio.no} will be a better choice.  Ask your
-sysadm whether your sendmail installation accepts keywords in the local
+sysadmin whether your sendmail installation accepts keywords in the local
 part of the mail address.)
 
 @lisp
 part of the mail address.)
 
 @lisp
@@ -18553,7 +18756,7 @@ each unsolicited commercial email---at your leisure.
 
 If you are also a lazy net citizen, you will probably prefer complaining
 automatically with the @file{gnus-junk.el} package, available FOR FREE
 
 If you are also a lazy net citizen, you will probably prefer complaining
 automatically with the @file{gnus-junk.el} package, available FOR FREE
-at @* @file{<URL:http://stud2.tuwien.ac.at/~e9426626/gnus-junk.html>}.
+at @* @uref{http://stud2.tuwien.ac.at/~e9426626/gnus-junk.html}.
 Since most e-mail spam is sent automatically, this may reconcile the
 cosmic balance somewhat.
 
 Since most e-mail spam is sent automatically, this may reconcile the
 cosmic balance somewhat.
 
@@ -18665,7 +18868,7 @@ names who could possibly mess up Gnus internally (like allowing
 @samp{:} in a group name, which is normally used to delimit method and
 group).
 
 @samp{:} in a group name, which is normally used to delimit method and
 group).
 
-IMAP users might want to allow @samp{/} in group names though.
+@sc{imap} users might want to allow @samp{/} in group names though.
 
 
 @end table
 
 
 @end table
@@ -18725,7 +18928,7 @@ but at the common table.@*
 
 If you want to investigate the person responsible for this outrage,
 you can point your (feh!) web browser to
 
 If you want to investigate the person responsible for this outrage,
 you can point your (feh!) web browser to
-@file{http://quimby.gnus.org/~larsi/}.  This is also the primary
+@uref{http://quimby.gnus.org/}.  This is also the primary
 distribution point for the new and spiffy versions of Gnus, and is
 known as The Site That Destroys Newsrcs And Drives People Mad.
 
 distribution point for the new and spiffy versions of Gnus, and is
 known as The Site That Destroys Newsrcs And Drives People Mad.
 
@@ -18751,7 +18954,6 @@ renamed it back again to ``Gnus''.  But in mixed case.  ``Gnus'' vs.
 * Gnus Development::    How Gnus is developed.
 * Contributors::        Oodles of people.
 * New Features::        Pointers to some of the new stuff in Gnus.
 * Gnus Development::    How Gnus is developed.
 * Contributors::        Oodles of people.
 * New Features::        Pointers to some of the new stuff in Gnus.
-* Newest Features::     Features so new that they haven't been written yet.
 @end menu
 
 
 @end menu
 
 
@@ -18777,14 +18979,16 @@ If was released as ``Gnus 5.6'' on March 8th 1998 (46 releases).
 
 Gnus 5.6 begat Pterodactyl Gnus on August 29th 1998 and was released as
 ``Gnus 5.8'' (after 99 releases and a CVS repository) on December 3rd
 
 Gnus 5.6 begat Pterodactyl Gnus on August 29th 1998 and was released as
 ``Gnus 5.8'' (after 99 releases and a CVS repository) on December 3rd
-1999. 
+1999.
+
+On the 26th of October 2000, Oort Gnus was begun.
 
 If you happen upon a version of Gnus that has a prefixed name --
 
 If you happen upon a version of Gnus that has a prefixed name --
-``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' --
-don't panic.  Don't let it know that you're frightened.  Back away.
-Slowly.  Whatever you do, don't run.  Walk away, calmly, until you're
-out of its reach.  Find a proper released version of Gnus and snuggle up
-to that instead.
+``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'',
+``Pterodactyl Gnus'', ``Oort Gnus'' -- don't panic.  Don't let it know
+that you're frightened.  Back away.  Slowly.  Whatever you do, don't
+run.  Walk away, calmly, until you're out of its reach.  Find a proper
+released version of Gnus and snuggle up to that instead.
 
 
 @node Other Gnus Versions
 
 
 @node Other Gnus Versions
@@ -19011,7 +19215,7 @@ importantly, talking about new experimental features that have been
 introduced may confuse casual users.  New features are frequently
 introduced, fiddled with, and judged to be found wanting, and then
 either discarded or totally rewritten.  People reading the mailing list
 introduced may confuse casual users.  New features are frequently
 introduced, fiddled with, and judged to be found wanting, and then
 either discarded or totally rewritten.  People reading the mailing list
-usually keep up with these rapid changes, whille people on the newsgroup
+usually keep up with these rapid changes, while people on the newsgroup
 can't be assumed to do so.
 
 
 can't be assumed to do so.
 
 
@@ -19344,16 +19548,16 @@ actually are people who are using Gnus.  Who'd'a thunk it!
 
 @menu
 * ding