Use accented form of some names
[bpt/emacs.git] / doc / misc / gnus.texi
index 2808197..d05ed53 100644 (file)
@@ -11,7 +11,7 @@
 @documentencoding UTF-8
 
 @copying
-Copyright @copyright{} 1995-2012 Free Software Foundation, Inc.
+Copyright @copyright{} 1995--2013 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -22,8 +22,7 @@ and with the Back-Cover Texts as in (a) below.  A copy of the license
 is included in the section entitled ``GNU Free Documentation License''.
 
 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
-modify this GNU manual.  Buying copies from the FSF supports it in
-developing GNU and promoting software freedom.''
+modify this GNU manual.''
 @end quotation
 @end copying
 
@@ -421,6 +420,9 @@ This manual corresponds to Gnus v5.13
 * Index::                    Variable, function and concept index.
 * Key Index::                Key Index.
 
+@c Doesn't work right in html.
+@c FIXME Do this in a more standard way.
+@ifinfo
 Other related manuals
 
 * Message:(message).         Composing messages.
@@ -428,6 +430,7 @@ Other related manuals
 * Sieve:(sieve).             Managing Sieve scripts in Emacs.
 * EasyPG:(epa).              @acronym{PGP/MIME} with Gnus.
 * SASL:(sasl).               @acronym{SASL} authentication in Emacs.
+@end ifinfo
 
 @detailmenu
  --- The Detailed Node Listing ---
@@ -1297,7 +1300,7 @@ subscribing these groups.
 variable defaults to @code{gnus-subscribe-alphabetically}.
 
 The ``options -n'' format is very simplistic.  The syntax above is all
-that is supports -- you can force-subscribe hierarchies, or you can
+that is supports: you can force-subscribe hierarchies, or you can
 deny hierarchies, and that's it.
 
 @vindex gnus-options-not-subscribe
@@ -1580,6 +1583,10 @@ times you start Gnus.
 @vindex gnus-before-startup-hook
 A hook called as the first thing when Gnus is started.
 
+@item gnus-before-resume-hook
+@vindex gnus-before-resume-hook
+A hook called as the first thing when Gnus is resumed after a suspend.
+
 @item gnus-startup-hook
 @vindex gnus-startup-hook
 A hook run as the very last thing after starting up Gnus
@@ -2140,14 +2147,14 @@ In groups in some news servers, there might be a big gap between a few
 very old articles that will never be expired and the recent ones.  In
 such a case, the server will return the data like @code{(1 . 30000000)}
 for the @code{LIST ACTIVE group} command, for example.  Even if there
-are actually only the articles 1-10 and 29999900-30000000, Gnus doesn't
+are actually only the articles 1--10 and 29999900--30000000, Gnus doesn't
 know it at first and prepares for getting 30000000 articles.  However,
 it will consume hundreds megabytes of memories and might make Emacs get
 stuck as the case may be.  If you use such news servers, set the
 variable @code{gnus-newsgroup-maximum-articles} to a positive number.
 The value means that Gnus ignores articles other than this number of the
 latest ones in every group.  For instance, the value 10000 makes Gnus
-get only the articles 29990001-30000000 (if the latest article number is
+get only the articles 29990001--30000000 (if the latest article number is
 30000000 in a group).  Note that setting this variable to a number might
 prevent you from reading very old articles.  The default value of the
 variable @code{gnus-newsgroup-maximum-articles} is @code{nil}, which
@@ -2345,8 +2352,8 @@ Gnus considers groups from levels 1 to
 unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead)
 (default 8) and @code{gnus-level-killed} to be killed (completely dead)
 (default 9).  Gnus treats subscribed and unsubscribed groups exactly the
-same, but zombie and killed groups have no information on what articles
-you have read, etc, stored.  This distinction between dead and living
+same, but zombie and killed groups store no information on what articles
+you have read, etc.  This distinction between dead and living
 groups isn't done because it is nice or clever, it is done purely for
 reasons of efficiency.
 
@@ -2709,11 +2716,11 @@ the article range.
 This command is similar to @code{gnus-read-ephemeral-gmane-group}, but
 the group name and the article number and range are constructed from a
 given @acronym{URL}.  Supported @acronym{URL} formats include:
-@url{http://thread.gmane.org/gmane.foo.bar/12300/focus=12399},
-@url{http://thread.gmane.org/gmane.foo.bar/12345/},
-@url{http://article.gmane.org/gmane.foo.bar/12345/},
-@url{http://permalink.gmane.org/gmane.foo.bar/12345/}, and
-@url{http://news.gmane.org/group/gmane.foo.bar/thread=12345}.
+@indicateurl{http://thread.gmane.org/gmane.foo.bar/12300/focus=12399},
+@indicateurl{http://thread.gmane.org/gmane.foo.bar/12345/},
+@indicateurl{http://article.gmane.org/gmane.foo.bar/12345/},
+@indicateurl{http://permalink.gmane.org/gmane.foo.bar/12345/}, and
+@indicateurl{http://news.gmane.org/group/gmane.foo.bar/thread=12345}.
 
 @item gnus-read-ephemeral-emacs-bug-group
 @findex gnus-read-ephemeral-emacs-bug-group
@@ -3084,6 +3091,12 @@ if address "sender" ["name@@one.org", "else@@two.org"] @{
 @}
 @end example
 
+You can also use regexp expansions in the rules:
+
+@example
+(sieve header :regex "list-id" "<c++std-\\1.accu.org>")
+@end example
+
 See @pxref{Sieve Commands} for commands and variables that might be of
 interest in relation to the sieve parameter.
 
@@ -3642,6 +3655,15 @@ Describe the current group (@code{gnus-browse-describe-group}).
 @findex gnus-browse-describe-briefly
 Describe browse mode briefly (well, there's not much to describe, is
 there) (@code{gnus-browse-describe-briefly}).
+
+@item DEL
+@kindex DEL (Browse)
+@findex gnus-browse-delete-group
+This function will delete the current group
+(@code{gnus-browse-delete-group}).  If given a prefix, this function
+will actually delete all the articles in the group, and forcibly
+remove the group itself from the face of the Earth.  Use a prefix only
+if you are absolutely sure of what you are doing.
 @end table
 
 
@@ -3820,7 +3842,7 @@ So, to move a topic to the beginning of the list of topics, just hit
 @kbd{C-k} on it.  This is like the ``cut'' part of cut and paste.  Then,
 move the cursor to the beginning of the buffer (just below the ``Gnus''
 topic) and hit @kbd{C-y}.  This is like the ``paste'' part of cut and
-paste.  Like I said -- E-Z.
+paste.  Like I said---E-Z.
 
 You can use @kbd{C-k} and @kbd{C-y} on groups as well as on topics.  So
 you can move topics around as well as groups.
@@ -6364,10 +6386,10 @@ The default is @code{t}.
 @node Generic Marking Commands
 @subsection Generic Marking Commands
 
-Some people would like the command that ticks an article (@kbd{!}) go to
-the next article.  Others would like it to go to the next unread
-article.  Yet others would like it to stay on the current article.  And
-even though I haven't heard of anybody wanting it to go to the
+Some people would like the command that ticks an article (@kbd{!}) to
+go to the next article.  Others would like it to go to the next unread
+article.  Yet others would like it to stay on the current article.
+And 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.
 
@@ -7372,6 +7394,14 @@ say something like:
         gnus-thread-sort-by-score))
 @end lisp
 
+By default, threads including their subthreads are sorted according to
+the value of @code{gnus-thread-sort-functions}.  By customizing
+@code{gnus-subthread-sort-functions} you can define a custom sorting
+order for subthreads.  This allows for example to sort threads from
+high score to low score in the summary buffer, but to have subthreads
+still sorted chronologically from old to new without taking their
+score into account.
+
 @vindex gnus-thread-score-function
 The function in the @code{gnus-thread-score-function} variable (default
 @code{+}) is used for calculating the total score of a thread.  Useful
@@ -9505,18 +9535,9 @@ Say how much time has elapsed between the article was posted and now
 Date: 6 weeks, 4 days, 1 hour, 3 minutes, 8 seconds ago
 @end example
 
-This line is updated continually by default.  The frequency (in
-seconds) is controlled by the @code{gnus-article-update-date-headers}
-variable.
-
-If you wish to switch updating off, say:
-
-@vindex gnus-article-update-date-headers
-@lisp
-(setq gnus-article-update-date-headers nil)
-@end lisp
-
-in your @file{~/.gnus.el} file.
+To make this line updated continually, set the
+@code{gnus-article-update-date-headers} variable to the frequency in
+seconds (the default is @code{nil}).
 
 @item W T o
 @kindex W T o (Summary)
@@ -11128,7 +11149,7 @@ There will never be more than one dead summary buffer at any one time.
 
 @vindex gnus-use-cross-reference
 The data on the current group will be updated (which articles you have
-read, which articles you have replied to, etc.) when you exit the
+read, which articles you have replied to, etc.)@: when you exit the
 summary buffer.  If the @code{gnus-use-cross-reference} variable is
 @code{t} (which is the default), articles that are cross-referenced to
 this group and are marked as read, will also be marked as read in the
@@ -11845,6 +11866,11 @@ predicate.  The following predicates are recognized: @code{or},
     (typep "text/x-vcard"))
 @end lisp
 
+@item
+A function: the function is called with no arguments and should return
+@code{nil} or non-@code{nil}.  The current article is available in the
+buffer named by @code{gnus-article-buffer}.
+
 @end enumerate
 
 You may have noticed that the word @dfn{part} is used here.  This refers
@@ -13662,7 +13688,7 @@ server.  The default value of this variable is @code{("XOVER"
 @vindex nntp-nov-gap
 @code{nntp} normally sends just one big request for @acronym{NOV} lines to
 the server.  The server responds with one huge list of lines.  However,
-if you have read articles 2-5000 in the group, and only want to read
+if you have read articles 2--5000 in the group, and only want to read
 article 1 and 5001, that means that @code{nntp} will fetch 4999 @acronym{NOV}
 lines that you will not need.  This variable says how
 big a gap between two consecutive articles is allowed to be before the
@@ -13806,9 +13832,12 @@ installed.  You then define a server as follows:
 @findex nntp-open-ssl-stream
 @item nntp-open-ssl-stream
 Opens a connection to a server over a @dfn{secure} channel.  To use
-this you must have @uref{http://www.openssl.org, OpenSSL} or
-@uref{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL, SSLeay} installed.  You
-then define a server as follows:
+this you must have @uref{http://www.openssl.org, OpenSSL}
+@ignore
+@c Defunct URL, ancient package, so don't mention it.
+or @uref{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL, SSLeay}
+@end ignore
+installed.  You then define a server as follows:
 
 @lisp
 ;; @r{"snews" is port 563 and is predefined in our @file{/etc/services}}
@@ -14010,7 +14039,7 @@ The address of the @acronym{NNTP} server.
 Port number to connect to the @acronym{NNTP} server.  The default is
 @samp{nntp}.  If you use @acronym{NNTP} over
 @acronym{TLS}/@acronym{SSL}, you may want to use integer ports rather
-than named ports (i.e, use @samp{563} instead of @samp{snews} or
+than named ports (i.e., use @samp{563} instead of @samp{snews} or
 @samp{nntps}), because external @acronym{TLS}/@acronym{SSL} tools may
 not work with named ports.
 
@@ -14196,7 +14225,11 @@ what you need.
 
 @item nnimap-authenticator
 Some @acronym{IMAP} servers allow anonymous logins.  In that case,
-this should be set to @code{anonymous}.
+this should be set to @code{anonymous}.  If this variable isn't set,
+the normal login methods will be used.  If you wish to specify a
+specific login method to be used, you can set this variable to either
+@code{login} (the traditional @acronym{IMAP} login method),
+@code{plain} or @code{cram-md5}.
 
 @item nnimap-expunge
 If non-@code{nil}, expunge articles after deleting them.  This is always done
@@ -14233,7 +14266,8 @@ variables are relevant:
 
 @table @code
 @item nnimap-inbox
-This is the @acronym{IMAP} mail box that will be scanned for new mail.
+This is the @acronym{IMAP} mail box that will be scanned for new
+mail.  This can also be a list of mail box names.
 
 @item nnimap-split-methods
 Uses the same syntax as @code{nnmail-split-methods} (@pxref{Splitting
@@ -14525,6 +14559,7 @@ maildir, for instance.
 
 @menu
 * Mail Source Specifiers::      How to specify what a mail source is.
+* Mail Source Functions::
 * Mail Source Customization::   Some variables that influence things.
 * Fetching Mail::               Using the mail source specifiers.
 @end menu
@@ -14761,14 +14796,16 @@ and says what authentication scheme to use.  The default is
 
 @item :leave
 Non-@code{nil} if the mail is to be left on the @acronym{POP} server
-after fetching.  Mails once fetched will never be fetched again by the
-@acronym{UIDL} control.  Only the built-in @code{pop3-movemail} program
-(the default) supports this keyword.
+after fetching.  Only the built-in @code{pop3-movemail} program (the
+default) supports this keyword.
 
-If this is neither @code{nil} nor a number, all mails will be left on
-the server.  If this is a number, leave mails on the server for this
-many days since you first checked new mails.  If this is @code{nil}
-(the default), mails will be deleted on the server right after fetching.
+If this is a number, leave mails on the server for this many days since
+you first checked new mails.  In that case, mails once fetched will
+never be fetched again by the @acronym{UIDL} control.  If this is
+@code{nil} (the default), mails will be deleted on the server right
+after fetching.  If this is neither @code{nil} nor a number, all mails
+will be left on the server, and you will end up getting the same mails
+again and again.
 
 @vindex pop3-uidl-file
 The @code{pop3-uidl-file} variable specifies the file to which the
@@ -14984,6 +15021,7 @@ useful when you use local mail and news.
 @end table
 @end table
 
+@node Mail Source Functions
 @subsubsection Function Interface
 
 Some of the above keywords specify a Lisp function to be executed.
@@ -15382,7 +15420,7 @@ substitutions in the group names), you can say things like:
 In this example, messages sent to @samp{debian-foo@@lists.debian.org}
 will be filed in @samp{mail.debian.foo}.
 
-If the string contains the element @samp{\&}, then the previously
+If the string contains the element @samp{\\&}, then the previously
 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.
@@ -15958,7 +15996,7 @@ Decode Quoted Readable encoding.
 If you are a member of a couple of mailing lists, you will sometimes
 receive two copies of the same mail.  This can be quite annoying, so
 @code{nnmail} checks for and treats any duplicates it might find.  To do
-this, it keeps a cache of old @code{Message-ID}s---
+this, it keeps a cache of old @code{Message-ID}s:
 @code{nnmail-message-id-cache-file}, which is @file{~/.nnmail-cache} by
 default.  The approximate maximum number of @code{Message-ID}s stored
 there is controlled by the @code{nnmail-message-id-cache-length}
@@ -16052,6 +16090,10 @@ Spool}).
 * Mail Spool::                  Store your mail in a private spool?
 * MH Spool::                    An mhspool-like back end.
 * Maildir::                     Another one-file-per-message format.
+* nnmaildir Group Parameters::
+* Article Identification::
+* NOV Data::
+* Article Marks::
 * Mail Folders::                Having one file for each group.
 * Comparing Mail Back Ends::    An in-depth looks at pros and cons.
 @end menu
@@ -16359,6 +16401,7 @@ different in the future.  If your split rules create new groups,
 remember to supply a @code{create-directory} server parameter.
 @end table
 
+@node nnmaildir Group Parameters
 @subsubsection Group parameters
 
 @code{nnmaildir} uses several group parameters.  It's safe to ignore
@@ -16469,6 +16512,7 @@ that are either marked with @code{tick} or not marked with
 @code{read}, plus a little extra.
 @end table
 
+@node Article Identification
 @subsubsection Article identification
 Articles are stored in the @file{cur/} subdirectory of each maildir.
 Each article file is named like @code{uniq:info}, where @code{uniq}
@@ -16481,6 +16525,7 @@ about the corresponding article.  The full pathname of an article is
 available in the variable @code{nnmaildir-article-file-name} after you
 request the article in the summary buffer.
 
+@node NOV Data
 @subsubsection NOV data
 An article identified by @code{uniq} has its @acronym{NOV} data (used
 to generate lines in the summary buffer) stored in
@@ -16494,6 +16539,7 @@ file, but @emph{beware}: this will also cause @code{nnmaildir} to
 assign a new article number for this article, which may cause trouble
 with @code{seen} marks, the Agent, and the cache.
 
+@node Article Marks
 @subsubsection Article marks
 An article identified by @code{uniq} is considered to have the mark
 @code{flag} when the file @file{.nnmaildir/marks/flag/uniq} exists.
@@ -16622,8 +16668,8 @@ future.  Here are some high and low points on each:
 @table @code
 @item nnmbox
 
-UNIX systems have historically had a single, very common, and well-
-defined format.  All messages arrive in a single @dfn{spool file}, and
+UNIX systems have historically had a single, very common, and well-defined
+format.  All messages arrive in a single @dfn{spool file}, and
 they are delineated by a line whose regular expression matches
 @samp{^From_}.  (My notational use of @samp{_} is to indicate a space,
 to make it clear in this instance that this is not the RFC-specified
@@ -16935,7 +16981,7 @@ Some web sites have an RDF Site Summary (@acronym{RSS}).
 @acronym{RSS} is a format for summarizing headlines from news related
 sites (such as BBC or CNN).  But basically anything list-like can be
 presented as an @acronym{RSS} feed: weblogs, changelogs or recent
-changes to a wiki (e.g., @url{http://cliki.net/recent-changes.rdf}).
+changes to a wiki (e.g., @url{http://cliki.net/site/recent-changes}).
 
 @acronym{RSS} has a quite regular and nice interface, and it's
 possible to get the information Gnus needs to keep groups updated.
@@ -19003,7 +19049,7 @@ agent as unread.
 @subsection Agent and flags
 
 The Agent works with any Gnus back end including those, such as
-nnimap, that store flags (read, ticked, etc) on the server.  Sadly,
+nnimap, that store flags (read, ticked, etc.)@: on the server.  Sadly,
 the Agent does not actually know which backends keep their flags in
 the backend server rather than in @file{.newsrc}.  This means that the
 Agent, while unplugged or disconnected, will always record all changes
@@ -19979,7 +20025,7 @@ the article was posted from.  Time zones are such wholesome fun for the
 whole family, eh?)
 
 @item Head, Body, All
-These three match keys use the same match types as the @code{From} (etc)
+These three match keys use the same match types as the @code{From} (etc.)@:
 header uses.
 
 @item Followup
@@ -21065,17 +21111,17 @@ the articles that match this query, and takes you to a summary buffer
 showing these articles. Articles may then be read, moved and deleted
 using the usual commands.
 
-The @code{nnir} group made in this way is an @code{ephemeral} group, and
-some changes are not permanent: aside from reading, moving, and
+The @code{nnir} group made in this way is an @code{ephemeral} group,
+and some changes are not permanent: aside from reading, moving, and
 deleting, you can't act on the original article. But there is an
-alternative: you can @emph{warp} to the original group for the article
-on the current line with @kbd{A W}, aka
+alternative: you can @emph{warp} (i.e., jump) to the original group
+for the article on the current line with @kbd{A W}, aka
 @code{gnus-warp-to-article}. Even better, the function
-@code{gnus-summary-refer-thread}, bound by default in summary buffers to
-@kbd{A T}, will first warp to the original group before it works its
-magic and includes all the articles in the thread. From here you can
-read, move and delete articles, but also copy them, alter article marks,
-whatever. Go nuts.
+@code{gnus-summary-refer-thread}, bound by default in summary buffers
+to @kbd{A T}, will first warp to the original group before it works
+its magic and includes all the articles in the thread. From here you
+can read, move and delete articles, but also copy them, alter article
+marks, whatever. Go nuts.
 
 You say you want to search more than just the group on the current line?
 No problem: just process-mark the groups you want to search. You want
@@ -21117,6 +21163,7 @@ query language anyway.
 * The swish++ Engine::                  Swish++ configuration and usage.
 * The swish-e Engine::                  Swish-e configuration and usage.
 * The namazu Engine::                   Namazu configuration and usage.
+* The notmuch Engine::                  Notmuch configuration and usage.
 * The hyrex Engine::                    Hyrex configuration and usage.
 * Customizations::                      User customizable settings.
 @end menu
@@ -21170,7 +21217,7 @@ features (inspired by the Google search input language):
 AND, OR, and NOT are supported, and parentheses can be used to control
 operator precedence, e.g., (emacs OR xemacs) AND linux. Note that
 operators must be written with all capital letters to be
-recognized. Also preceding a term with a - sign is equivalent to NOT
+recognized. Also preceding a term with a @minus{} sign is equivalent to NOT
 term.
 
 @item Automatic AND queries
@@ -21218,7 +21265,8 @@ Note that operators must be written with all capital letters to be
 recognized.
 
 @item Required and excluded terms
-+ and - can be used to require or exclude terms, e.g., football -american
++ and @minus{} can be used to require or exclude terms, e.g., football
+@minus{}american
 
 @item Unicode handling
 The search engine converts all text to utf-8, so searching should work
@@ -21345,6 +21393,26 @@ mknmz --mailnews ~/Mail/archive/ ~/Mail/mail/ ~/Mail/lists/
 For maximum searching efficiency you might want to have a cron job run
 this command periodically, say every four hours.
 
+
+@node The notmuch Engine
+@subsubsection The notmuch Engine
+
+@table @code
+@item nnir-notmuch-program
+The name of the notmuch search executable.  Defaults to
+@samp{notmuch}.
+
+@item nnir-notmuch-additional-switches
+A list of strings, to be given as additional arguments to notmuch.
+
+@item nnir-notmuch-remove-prefix
+The prefix to remove from each file name returned by notmuch in order
+to get a group name (albeit with @samp{/} instead of @samp{.}).  This
+is a regular expression.
+
+@end table
+
+
 @node The hyrex Engine
 @subsubsection The hyrex Engine
 This engine is obsolete.
@@ -21355,7 +21423,7 @@ This engine is obsolete.
 @table @code
 
 @item nnir-method-default-engines
-Alist of server backend - search engine pairs. The default associations
+Alist of pairs of server backends and search engines. The default associations
 are
 @example
 (nnimap . imap)
@@ -22570,7 +22638,7 @@ configuration function will use @code{group} as the key.  A full list of
 possible names is listed below.
 
 The @dfn{value} (i.e., the @dfn{split}) says how much space each buffer
-should occupy.  To take the @code{article} split as an example -
+should occupy.  To take the @code{article} split as an example:
 
 @lisp
 (article (vertical 1.0 (summary 0.25 point)
@@ -22930,7 +22998,7 @@ elements on the line is (i.e., the non-info part).  If you put
 additional elements on the mode line (e.g., a clock), you should modify
 this variable:
 
-@c Hook written by Francesco Potorti` <pot@cnuce.cnr.it>
+@c Hook written by Francesco Potortì <pot@cnuce.cnr.it>
 @lisp
 (add-hook 'display-time-hook
           (lambda () (setq gnus-mode-non-string-length
@@ -23799,7 +23867,7 @@ from Bulgarian IPs.
 
 This, unfortunately, is a great way to discard legitimate e-mail.  The
 risks of blocking a whole country (Bulgaria, Norway, Nigeria, China,
-etc.) or even a continent (Asia, Africa, Europe, etc.) from contacting
+etc.)@: or even a continent (Asia, Africa, Europe, etc.)@: from contacting
 you should be obvious, so don't do it if you have the choice.
 
 In another instance, the very informative and useful RISKS digest has
@@ -25833,8 +25901,8 @@ of all messages matching a particular set of criteria.
 
 @menu
 * Gnus Registry Setup::
-* Fancy splitting to parent::
 * Registry Article Refer Method::
+* Fancy splitting to parent::
 * Store custom flags and keywords::
 * Store arbitrary data::
 @end menu
@@ -25852,7 +25920,7 @@ Fortunately, setting up the Gnus registry is pretty easy:
 
 This adds registry saves to Gnus newsrc saves (which happen on exit
 and when you press @kbd{s} from the @code{*Group*} buffer.  It also
-adds registry calls to article actions in Gnus (copy, move, etc.)  so
+adds registry calls to article actions in Gnus (copy, move, etc.)@: so
 it's not easy to undo the initialization.  See
 @code{gnus-registry-initialize} for the gory details.
 
@@ -25974,9 +26042,13 @@ following variables.
 
 @defvar gnus-registry-track-extra
 This is a list of symbols, so it's best to change it from the
-Customize interface.  By default it's @code{(subject sender)}, which
-may work for you.  It can be annoying if your mail flow is large and
-people don't stick to the same groups.
+Customize interface.  By default it's @code{(subject sender recipient)},
+which may work for you.  It can be annoying if your mail flow is large
+and people don't stick to the same groups.
+
+When you decide to stop tracking any of those extra data, you can use
+the command @code{gnus-registry-remove-extra-data} to purge it from
+the existing registry entries.
 @end defvar
 
 @defvar gnus-registry-split-strategy
@@ -26347,9 +26419,9 @@ with the information when possible).
 
 On the January 31th 2012, Ma Gnus was begun.
 
-If you happen upon a version of Gnus that has a prefixed name --
-``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'',
-``Pterodactyl Gnus'', ``Oort Gnus'', ``No Gnus'', ``Ma Gnus'' -- don't
+If you happen upon a version of Gnus that has a prefixed name---``(ding)
+Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'',
+``Pterodactyl Gnus'', ``Oort Gnus'', ``No Gnus'', ``Ma 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
@@ -26496,14 +26568,14 @@ on Son-of-RFC 1036.  They have produced a number of drafts proposing
 various changes to the format of news articles.  The Gnus towers will
 look into implementing the changes when the draft is accepted as an RFC.
 
-@item MIME - RFC 2045-2049 etc
+@item MIME---RFC 2045--2049 etc
 @cindex @acronym{MIME}
 All the various @acronym{MIME} RFCs are supported.
 
-@item Disposition Notifications - RFC 2298
+@item Disposition Notifications---RFC 2298
 Message Mode is able to request notifications from the receiver.
 
-@item PGP - RFC 1991 and RFC 2440
+@item PGP---RFC 1991 and RFC 2440
 @cindex RFC 1991
 @cindex RFC 2440
 RFC 1991 is the original @acronym{PGP} message specification,
@@ -26513,15 +26585,15 @@ non-@acronym{MIME} aware @acronym{PGP} format.  Gnus supports both
 encoding (signing and encryption) and decoding (verification and
 decryption).
 
-@item PGP/MIME - RFC 2015/3156
+@item PGP/MIME---RFC 2015/3156
 RFC 2015 (superseded by 3156 which references RFC 2440 instead of RFC
 1991) describes the @acronym{MIME}-wrapping around the RFC 1991/2440 format.
 Gnus supports both encoding and decoding.
 
-@item S/MIME - RFC 2633
+@item S/MIME---RFC 2633
 RFC 2633 describes the @acronym{S/MIME} format.
 
-@item IMAP - RFC 1730/2060, RFC 2195, RFC 2086, RFC 2359, RFC 2595, RFC 1731
+@item IMAP---RFC 1730/2060, RFC 2195, RFC 2086, RFC 2359, RFC 2595, RFC 1731
 RFC 1730 is @acronym{IMAP} version 4, updated somewhat by RFC 2060
 (@acronym{IMAP} 4 revision 1).  RFC 2195 describes CRAM-MD5
 authentication for @acronym{IMAP}.  RFC 2086 describes access control
@@ -26549,7 +26621,7 @@ This version of Gnus should work on:
 @itemize @bullet
 
 @item
-Emacs 21.1 and up.
+Emacs 23.1 and up.
 
 @item
 XEmacs 21.4 and up.
@@ -26576,7 +26648,7 @@ circles) @dfn{snapshots}.  During this phase, Gnus is assumed to be
 unstable and should not be used by casual users.  Gnus alpha releases
 have names like ``Oort Gnus'' and ``No Gnus''.  @xref{Gnus Versions}.
 
-After futzing around for 10-100 alpha releases, Gnus is declared
+After futzing around for 10--100 alpha releases, Gnus is declared
 @dfn{frozen}, and only bug fixes are applied.  Gnus loses the prefix,
 and is called things like ``Gnus 5.10.1'' instead.  Normal people are
 supposed to be able to use these, and these are mostly discussed on the
@@ -27929,7 +28001,7 @@ consist of a little new content at the top with a long, untrimmed
 message cited below.
 
 @item
-Smileys (@samp{:-)}, @samp{;-)} etc) are now displayed graphically in
+Smileys (@samp{:-)}, @samp{;-)} etc.)@: are now displayed graphically in
 Emacs too.
 
 Put @code{(setq gnus-treat-display-smileys nil)} in @file{~/.gnus.el} to
@@ -28163,7 +28235,7 @@ The behavior can be changed by customizing @code{message-insert-canlock}.
 
 @item
 Gnus supports @acronym{PGP} (RFC 1991/2440), @acronym{PGP/MIME} (RFC
-2015/3156) and @acronym{S/MIME} (RFC 2630-2633).
+2015/3156) and @acronym{S/MIME} (RFC 2630--2633).
 
 It needs an external @acronym{S/MIME} and OpenPGP implementation, but no
 additional Lisp libraries.  This add several menu items to the
@@ -28535,7 +28607,7 @@ A mail message or news article
 
 @item head
 @cindex head
-The top part of a message, where administrative information (etc.) is
+The top part of a message, where administrative information (etc.)@: is
 put.
 
 @item body
@@ -28582,10 +28654,10 @@ know that the server makes wrong @acronym{NOV} data.
 
 @item level
 @cindex levels
-Each group is subscribed at some @dfn{level} or other (1-9).  The ones
+Each group is subscribed at some @dfn{level} or other (1--9).  The ones
 that have a lower level are ``more'' subscribed than the groups with a
-higher level.  In fact, groups on levels 1-5 are considered
-@dfn{subscribed}; 6-7 are @dfn{unsubscribed}; 8 are @dfn{zombies}; and 9
+higher level.  In fact, groups on levels 1--5 are considered
+@dfn{subscribed}; 6--7 are @dfn{unsubscribed}; 8 are @dfn{zombies}; and 9
 are @dfn{killed}.  Commands for listing groups and scanning for new
 articles will all use the numeric prefix as @dfn{working level}.
 
@@ -29161,8 +29233,8 @@ return value.
 
 Some back ends could be said to be @dfn{server-forming} back ends, and
 some might be said not to be.  The latter are back ends that generally
-only operate on one group at a time, and have no concept of ``server''
----they have a group, and they deliver info on that group and nothing
+only operate on one group at a time, and have no concept of ``server'';
+they have a group, and they deliver info on that group and nothing
 more.
 
 Gnus identifies each message by way of group name and article number.  A
@@ -29484,7 +29556,7 @@ There should be no result data from this function.
 @item (nnchoke-request-set-mark GROUP ACTION &optional SERVER)
 
 Set/remove/add marks on articles.  Normally Gnus handles the article
-marks (such as read, ticked, expired etc) internally, and store them in
+marks (such as read, ticked, expired etc.)@: internally, and store them in
 @file{~/.newsrc.eld}.  Some back ends (such as @acronym{IMAP}) however carry
 all information about the articles on the server, so Gnus need to
 propagate the mark information to the server.