*** empty log message ***
[gnus] / texi / gnus.texi
index c1fc058..c65d5a2 100644 (file)
@@ -311,6 +311,7 @@ the program.
 @end menu
 
 
 @end menu
 
 
+
 @node Starting Up
 @chapter Starting Gnus
 @cindex starting up
 @node Starting Up
 @chapter Starting Gnus
 @cindex starting up
@@ -735,7 +736,10 @@ will also means that Gnus has no record of what groups are new or old,
 so the automatic new groups subscription methods become meaningless.
 You should always set @code{gnus-check-new-newsgroups} to @code{nil} or
 @code{ask-server} if you set this variable to @code{nil} (@pxref{New
 so the automatic new groups subscription methods become meaningless.
 You should always set @code{gnus-check-new-newsgroups} to @code{nil} or
 @code{ask-server} if you set this variable to @code{nil} (@pxref{New
-Groups}).
+Groups}).  This variable can also be a regular expression.  If that's
+the case, remove all groups that do not match this regexp before
+saving.  This can be useful in certain obscure situations that involve
+several servers where not all servers support @code{ask-server}.
 
 @vindex gnus-startup-file
 The @code{gnus-startup-file} variable says where the startup files are.
 
 @vindex gnus-startup-file
 The @code{gnus-startup-file} variable says where the startup files are.
@@ -754,9 +758,11 @@ control on or off.  Version control is off by default when saving the
 startup files.
 
 @vindex gnus-init-file
 startup files.
 
 @vindex gnus-init-file
-When Gnus starts, it will read the @code{gnus-init-file} file, which is
-@file{~/.gnus.el} by default.  This is a normal Emacs Lisp file and can
-be used to avoid cluttering your @file{.emacs} file with Gnus stuff.
+When Gnus starts, it will read the @code{gnus-site-init-file} (default
+@file{.../site-lisp/gnus.el}) and @code{gnus-init-file} (default
+@file{~/.gnus.el}) files.  These are normal Emacs Lisp files and can be
+used to avoid cluttering your @file{.emacs} and @file{site-init} files
+with Gnus stuff.
 
 
 @node Auto Save
 
 
 @node Auto Save
@@ -1100,6 +1106,9 @@ The level of the group.
 The score of the group.
 @item ticked 
 The number of ticked articles in the group.
 The score of the group.
 @item ticked 
 The number of ticked articles in the group.
+@item total
+The total number of articles in the group.  Or rather, MAX-NUMBER minus
+MIN-NUMBER.
 @item topic
 When using the topic minor mode, this variable is bound to the current
 topic being inserted.
 @item topic
 When using the topic minor mode, this variable is bound to the current
 topic being inserted.
@@ -1594,8 +1603,8 @@ Enter a buffer where you can edit the group info
 @item G d
 @kindex G d (Group)
 @findex gnus-group-make-directory-group
 @item G d
 @kindex G d (Group)
 @findex gnus-group-make-directory-group
-Make a directory group.  You will be prompted for a directory name
-(@code{gnus-group-make-directory-group}).  
+Make a directory group (@pxref{Directory Groups}).  You will be prompted
+for a directory name (@code{gnus-group-make-directory-group}).
 
 @item G h 
 @kindex G h (Group)
 
 @item G h 
 @kindex G h (Group)
@@ -1625,6 +1634,7 @@ strings to match on headers (@code{gnus-group-make-kiboze-group}).
 @findex gnus-group-enter-directory
 Read an arbitrary directory as if with were a newsgroup with the
 @code{nneething} backend (@code{gnus-group-enter-directory}).
 @findex gnus-group-enter-directory
 Read an arbitrary directory as if with were a newsgroup with the
 @code{nneething} backend (@code{gnus-group-enter-directory}).
+@xref{Anything Groups}. 
 
 @item G f
 @kindex G f (Group)
 
 @item G f
 @kindex G f (Group)
@@ -1636,7 +1646,20 @@ command, you will be prompted for a file name and a file type.
 Currently supported types are @code{babyl}, @code{mbox}, @code{digest},
 @code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs}, and
 @code{forward}.  If you run this command without a prefix, Gnus will
 Currently supported types are @code{babyl}, @code{mbox}, @code{digest},
 @code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs}, and
 @code{forward}.  If you run this command without a prefix, Gnus will
-guess at the file type.
+guess at the file type.  @xref{Document Groups}.
+
+@item G n
+@kindex G n (Group)
+@findex gnus-group-make-web-group
+@cindex DejaNews
+@cindex Alta Vista
+@cindex InReference
+Make an ephemeral group based on a web search
+(@code{gnus-group-make-web-group}).  If you give a prefix to this
+command, make a solid group instead.  You will be prompted for the
+search engine type and the search string.  Legal search engine types
+include @code{dejanews}, @code{altavista} and @code{reference}.
+@xref{Web Searches}.
 
 @item G DEL
 @kindex G DEL (Group)
 
 @item G DEL
 @kindex G DEL (Group)
@@ -1651,7 +1674,7 @@ absolutely sure of what you are doing.
 @kindex G V (Group)
 @findex gnus-group-make-empty-virtual
 Make a new, fresh, empty @code{nnvirtual} group
 @kindex G V (Group)
 @findex gnus-group-make-empty-virtual
 Make a new, fresh, empty @code{nnvirtual} group
-(@code{gnus-group-make-empty-virtual}).
+(@code{gnus-group-make-empty-virtual}).  @xref{Virtual Groups}.
 
 @item G v
 @kindex G v (Group)
 
 @item G v
 @kindex G v (Group)
@@ -1781,6 +1804,19 @@ unsubscription notice to the mailing list itself.  Instead, you'd send
 messages to the administrative address.  This parameter allows you to
 put the admin address somewhere convenient.
 
 messages to the administrative address.  This parameter allows you to
 put the admin address somewhere convenient.
 
+@item display
+Elements that look like @code{(display . MODE)} says which articles to
+display on entering the group.  Legal values are:
+
+@table @code
+@item all
+Display all articles, both read and unread.
+
+@item default
+Display the default visible articles, which normally includes unread and
+ticked articles.
+@end table
+
 @item comment
 This parameter allows you to enter a arbitrary comment on the group.
 
 @item comment
 This parameter allows you to enter a arbitrary comment on the group.
 
@@ -1923,6 +1959,10 @@ include:
 @findex gnus-group-sort-by-alphabet
 Sort the group names alphabetically.  This is the default.
 
 @findex gnus-group-sort-by-alphabet
 Sort the group names alphabetically.  This is the default.
 
+@item gnus-group-sort-by-real-name
+@findex gnus-group-sort-by-real-name
+Sort the group alphabetically on the real (unprefixed) group names.
+
 @item gnus-group-sort-by-level
 @findex gnus-group-sort-by-level
 Sort by group level.
 @item gnus-group-sort-by-level
 @findex gnus-group-sort-by-level
 Sort by group level.
@@ -2225,6 +2265,10 @@ The default is @code{2}.
 @vindex gnus-topic-mode-hook
 @code{gnus-topic-mode-hook} is called in topic minor mode buffers. 
 
 @vindex gnus-topic-mode-hook
 @code{gnus-topic-mode-hook} is called in topic minor mode buffers. 
 
+@vindex gnus-topic-display-empty-topics
+The @code{gnus-topic-display-empty-topics} says whether to display even
+topics that have no unread articles in them.  The default is @code{t}.
+
 
 @node Topic Commands
 @subsection Topic Commands
 
 @node Topic Commands
 @subsection Topic Commands
@@ -2548,12 +2592,19 @@ news.
 @item M-f
 @kindex M-f (Group)
 @findex gnus-group-fetch-faq
 @item M-f
 @kindex M-f (Group)
 @findex gnus-group-fetch-faq
+@vindex gnus-group-faq-directory
 @cindex FAQ
 @cindex ange-ftp
 Try to fetch the FAQ for the current group
 (@code{gnus-group-fetch-faq}).  Gnus will try to get the FAQ from
 @code{gnus-group-faq-directory}, which is usually a directory on a
 @cindex FAQ
 @cindex ange-ftp
 Try to fetch the FAQ for the current group
 (@code{gnus-group-fetch-faq}).  Gnus will try to get the FAQ from
 @code{gnus-group-faq-directory}, which is usually a directory on a
-remote machine.  @code{ange-ftp} will be used for fetching the file.
+remote machine.  This variable can also be a list of directories.  In
+that case, giving a prefix to this command will allow you to choose
+between the various sites.  @code{ange-ftp} will be used for fetching
+the file.  
+
+If fetching from the first site is unsuccessful, Gnus will attempt to go
+through @code{gnus-group-faq-directory} and try to open them one by one.
 
 @item D
 @kindex D (Group)
 
 @item D
 @kindex D (Group)
@@ -3763,6 +3814,25 @@ Mark all articles in series order (@code{gnus-uu-mark-series}).
 @findex gnus-uu-mark-buffer
 Mark all articles in the buffer in the order they appear
 (@code{gnus-uu-mark-buffer}). 
 @findex gnus-uu-mark-buffer
 Mark all articles in the buffer in the order they appear
 (@code{gnus-uu-mark-buffer}). 
+
+@item M P k
+@kindex M P k (Summary)
+@findex gnus-summary-kill-process-mark
+Push the current process mark set onto the stack and unmark all articles
+(@code{gnus-summary-kill-process-mark}).
+
+@item M P y
+@kindex M P y (Summary)
+@findex gnus-summary-yank-process-mark
+Pop the previous process mark set from the stack and restore it
+(@code{gnus-summary-yank-process-mark}).
+
+@item M P w
+@kindex M P w (Summary)
+@findex gnus-summary-save-process-mark
+Push the current process mark set onto the stack
+(@code{gnus-summary-save-process-mark}).
+
 @end table
 
 
 @end table
 
 
@@ -5371,12 +5441,6 @@ late and certainly after any highlighting.
 @findex gnus-article-remove-cr
 Remove CR (@code{gnus-article-remove-cr}).
 
 @findex gnus-article-remove-cr
 Remove CR (@code{gnus-article-remove-cr}).
 
-@item W L
-@kindex W L (Summary)
-@findex gnus-article-remove-trailing-blank-lines
-Remove all blank lines at the end of the article
-(@code{gnus-article-remove-trailing-blank-lines}).
-
 @item W q
 @kindex W q (Summary)
 @findex gnus-article-de-quoted-unreadable
 @item W q
 @kindex W q (Summary)
 @findex gnus-article-de-quoted-unreadable
@@ -5416,6 +5480,31 @@ Add clickable buttons to the article (@code{gnus-article-add-buttons}).
 Add clickable buttons to the article headers
 (@code{gnus-article-add-buttons-to-head}).  
 
 Add clickable buttons to the article headers
 (@code{gnus-article-add-buttons-to-head}).  
 
+@item W E l
+@kindex W E l (Summary)
+@findex gnus-article-strip-leading-blank-lines
+Remove all blank lines from the beginning of the article
+(@code{gnus-article-strip-leading-blank-lines}).
+
+@item W E m
+@kindex W E m (Summary)
+@findex gnus-article-strip-multiple-blank-lines
+Replace all blank lines with empty lines and then all multiple empty
+lines with a single empty line.
+(@code{gnus-article-strip-multiple-blank-lines}).
+
+@item W E t
+@kindex W E t (Summary)
+@findex gnus-article-remove-trailing-blank-lines
+Remove all blank lines at the end of the article
+(@code{gnus-article-remove-trailing-blank-lines}).
+
+@item W E a
+@kindex W E a (Summary)
+@findex gnus-article-strip-blank-lines
+Do all the three commands above
+(@code{gnus-article-strip-blank-lines}).
+
 @end table
 
 
 @end table
 
 
@@ -5651,6 +5740,13 @@ can just press @kbd{^} or @kbd{A r}
 you'll get the parent.  If the parent is already displayed in the
 summary buffer, point will just move to this article.
 
 you'll get the parent.  If the parent is already displayed in the
 summary buffer, point will just move to this article.
 
+If given a positive numerical prefix, fetch that many articles back into
+the ancestry.  If given a negative numerical prefix, fetch just that
+ancestor.  So if you say @kbd{3 ^}, Gnus will fetch the parent, the
+grandparent and the grandgrandparent of the current article.  If you say
+@kbd{-3 ^}, Gnus will only fetch the grandgrandparent of the current
+article. 
+
 @findex gnus-summary-refer-references
 @kindex A R (Summary)
 You can have Gnus fetch all articles mentioned in the @code{References}
 @findex gnus-summary-refer-references
 @kindex A R (Summary)
 You can have Gnus fetch all articles mentioned in the @code{References}
@@ -6033,6 +6129,21 @@ editing and make the changes permanent, type @kbd{C-c C-c}
 If you want to re-spool an article, you might be curious as to what group
 the article will end up in before you do the re-spooling.  This command
 will tell you (@code{gnus-summary-respool-query}). 
 If you want to re-spool an article, you might be curious as to what group
 the article will end up in before you do the re-spooling.  This command
 will tell you (@code{gnus-summary-respool-query}). 
+
+@item B p
+@kindex B p (Summary)
+@findex gnus-summary-article-posted-p
+Some people have a tendency to send you "courtesy" copies when they
+follow up to articles you have posted.  These usually have a
+@code{Newsgroups} header in them, but not always.  This command
+(@code{gnus-summary-article-posted-p}) will try to fetch the current
+article from your news server (or rather, from
+@code{gnus-refer-article-method} or @code{gnus-select-method}) and will
+report back whether it found the article or not.  Even if it says that
+it didn't find the article, it may have been posted anyway---mail
+propagation is much faster than news propagation, and the news copy may
+just not have arrived yet.
+
 @end table
 
 @vindex gnus-move-split-methods
 @end table
 
 @vindex gnus-move-split-methods
@@ -6387,6 +6498,13 @@ mechanism is quite likely to be somewhat inefficient, but not overly
 so.  It's certainly preferrable to reading the same articles more than
 once.
 
 so.  It's certainly preferrable to reading the same articles more than
 once.
 
+Duplicate suppression is not a very subtle instrument.  It's more like a
+sledge hammer than anything else.  It works in a very simple
+fashion---if you have marked an article as read, it adds this Message-ID
+to a cache.  The next time it sees this Message-ID, it will mark the
+article as read the the @samp{M} mark.  It doesn't care what group it
+saw the article in.
+
 @table @code
 @item gnus-suppress-duplicates
 @vindex gnus-suppress-duplicates
 @table @code
 @item gnus-suppress-duplicates
 @vindex gnus-suppress-duplicates
@@ -7530,9 +7648,28 @@ server:
 @code{nntp-server-opened-hook} is run after a connection has been made.
 It can be used to send commands to the @sc{nntp} server after it has
 been contacted.  By default is sends the command @code{MODE READER} to
 @code{nntp-server-opened-hook} is run after a connection has been made.
 It can be used to send commands to the @sc{nntp} server after it has
 been contacted.  By default is sends the command @code{MODE READER} to
-the server with the @code{nntp-send-mode-reader} function.  Another
-popular function is @code{nntp-send-authinfo}, which will prompt you for
-an @sc{nntp} password and stuff.
+the server with the @code{nntp-send-mode-reader} function. 
+
+@item nntp-authinfo-function 
+@vindex nntp-authinfo-function 
+This function will be used to send @samp{AUTHINFO} to the @sc{nntp}
+server.  Available functions include:
+
+@table @code
+@item nntp-send-authinfo
+@findex nntp-send-authinfo
+This function will used you current login name as the user name and will
+prompt you for the password.  This is the default.
+
+@item nntp-send-nosy-authinfo
+@findex nntp-send-nosy-authinfo
+This function will prompt you for both user name and password.
+
+@item nntp-send-authinfo-from-file
+@findex nntp-send-authinfo-from-file
+This function will use your current login name as the user name and will
+read the @sc{nntp} password from @file{~/.nntp-authinfo}.
+@end table
 
 @item nntp-server-action-alist 
 @vindex nntp-server-action-alist 
 
 @item nntp-server-action-alist 
 @vindex nntp-server-action-alist 
@@ -7844,6 +7981,10 @@ something beginning with @samp{mail}, by the way), and the second
 element is a regular expression used on the header of each mail to
 determine if it belongs in this mail group.
 
 element is a regular expression used on the header of each mail to
 determine if it belongs in this mail group.
 
+If the first element is the special symbol @code{junk}, then messages
+that match the regexp will disappear into the aether.  Use with
+extreme caution. 
+
 The second element can also be a function.  In that case, it will be
 called narrowed to the headers with the first element of the rule as the
 argument.  It should return a non-@code{nil} value if it thinks that the
 The second element can also be a function.  In that case, it will be
 called narrowed to the headers with the first element of the rule as the
 argument.  It should return a non-@code{nil} value if it thinks that the
@@ -7951,6 +8092,17 @@ other spool files.
 This is run in a buffer that holds all the new incoming mail, and can be
 used for, well, anything, really.
 
 This is run in a buffer that holds all the new incoming mail, and can be
 used for, well, anything, really.
 
+@vindex nnmail-split-hook
+@item nnmail-split-hook
+@findex article-decode-rfc1522
+@findex RFC1522 decoding
+Hook run in the buffer where the mail headers of each message is kept
+just before the splitting based on these headers is done.  The hook is
+free to modify the buffer contents in any way it sees fit---the buffer
+is discarded after the splitting has been done, and no changes perfromed
+in the buffer will show up in any files.  @code{article-decode-rfc1522}
+is one likely function to add to this hook.
+
 @vindex nnmail-pre-get-new-mail-hook
 @vindex nnmail-post-get-new-mail-hook
 @item nnmail-pre-get-new-mail-hook
 @vindex nnmail-pre-get-new-mail-hook
 @vindex nnmail-post-get-new-mail-hook
 @item nnmail-pre-get-new-mail-hook
@@ -7987,9 +8139,17 @@ directory.  The default is @samp{movemail}.
 @cindex incoming mail files
 @cindex deleting incoming files
 If non-@code{nil}, the mail backends will delete the temporary incoming
 @cindex incoming mail files
 @cindex deleting incoming files
 If non-@code{nil}, the mail backends will delete the temporary incoming
-file after splitting mail into the proper groups.  This is @code{t} by
+file after splitting mail into the proper groups.  This is @code{nil} by
 default for reasons of security.
 
 default for reasons of security.
 
+Since Red Gnus is an alpha release, it is to be expected to lose mail.
+(No Gnus release since (ding) Gnus 0.10 (or something like that) have
+lost mail, I think, but that's not the point.)  By not deleting the
+Incoming* files, one can be sure to not lose mail -- if Gnus totally
+whacks out, one can always recover what was lost.
+
+Delete the @file{Incoming*} files at will.
+
 @item nnmail-use-long-file-names
 @vindex nnmail-use-long-file-names
 If non-@code{nil}, the mail backends will use long file and directory
 @item nnmail-use-long-file-names
 @vindex nnmail-use-long-file-names
 If non-@code{nil}, the mail backends will use long file and directory
@@ -8015,7 +8175,7 @@ Function called to delete files.  It is @code{delete-file} by default.
 If the rather simple, standard method for specifying how to split mail
 doesn't allow you to do what you want, you can set
 @code{nnmail-split-methods} to @code{nnmail-split-fancy}.  Then you can
 If the rather simple, standard method for specifying how to split mail
 doesn't allow you to do what you want, you can set
 @code{nnmail-split-methods} to @code{nnmail-split-fancy}.  Then you can
-play with the @code{nnmail-split-fancy} variable. 
+play with the @code{nnmail-split-fancy} variable.
 
 Let's look at an example value of this variable first:
 
 
 Let's look at an example value of this variable first:
 
@@ -8041,7 +8201,7 @@ Let's look at an example value of this variable first:
 
 This variable has the format of a @dfn{split}.  A split is a (possibly)
 recursive structure where each split may contain other splits.  Here are
 
 This variable has the format of a @dfn{split}.  A split is a (possibly)
 recursive structure where each split may contain other splits.  Here are
-the four possible split syntaxes:
+the five possible split syntaxes:
 
 @table @dfn
 
 
 @table @dfn
 
@@ -8062,6 +8222,9 @@ more groups.
 @item (& SPLIT...)
 If the split is a list, and the first element is @code{&}, then process
 all SPLITs in the list.
 @item (& SPLIT...)
 If the split is a list, and the first element is @code{&}, then process
 all SPLITs in the list.
+
+@item junk
+Junk this article.
 @end table
 
 In these splits, FIELD must match a complete field name.  VALUE must
 @end table
 
 In these splits, FIELD must match a complete field name.  VALUE must
@@ -8601,10 +8764,12 @@ below allow Gnus to view directories and files as if they were
 newsgroups.
 
 @menu
 newsgroups.
 
 @menu
-* Directory Groups::   You can read a directory as if it was a newsgroup.
-* Anything Groups::    Dired?  Who needs dired?
-* Document Groups::    Single files can be the basis of a group.
-* SOUP::               Reading @sc{SOUP} packets ``offline''.
+* Directory Groups::      You can read a directory as if it was a newsgroup.
+* Anything Groups::       Dired?  Who needs dired?
+* Document Groups::       Single files can be the basis of a group.
+* SOUP::                  Reading @sc{SOUP} packets ``offline''.
+* Web Searches::          Creating groups from articles that match a string.
+* Mail-To-News Gateways:: Posting articles via mail-to-news gateways.
 @end menu
 
 
 @end menu
 
 
@@ -8757,11 +8922,12 @@ If you have some old archived articles that you want to insert into your
 new & spiffy Gnus mail backend, @code{nndoc} can probably help you with
 that.  Say you have an old @file{RMAIL} file with mail that you now want
 to split into your new @code{nnml} groups.  You look at that file using
 new & spiffy Gnus mail backend, @code{nndoc} can probably help you with
 that.  Say you have an old @file{RMAIL} file with mail that you now want
 to split into your new @code{nnml} groups.  You look at that file using
-@code{nndoc}, set the process mark on all the articles in the buffer
-(@kbd{M P b}, for instance), and then re-spool (@kbd{B r}) using
-@code{nnml}.  If all goes well, all the mail in the @file{RMAIL} file is
-now also stored in lots of @code{nnml} directories, and you can delete
-that pesky @file{RMAIL} file.  If you have the guts!  
+@code{nndoc} (using the @kbd{G f} command in the group buffer
+(@pxref{Foreign Groups})), set the process mark on all the articles in
+the buffer (@kbd{M P b}, for instance), and then re-spool (@kbd{B r})
+using @code{nnml}.  If all goes well, all the mail in the @file{RMAIL}
+file is now also stored in lots of @code{nnml} directories, and you can
+delete that pesky @file{RMAIL} file.  If you have the guts!
 
 Virtual server variables:
 
 
 Virtual server variables:
 
@@ -9150,6 +9316,146 @@ system you just use the first line.  If you only want mail to be
 @sc{soup}ed you use the second.
 
 
 @sc{soup}ed you use the second.
 
 
+@node Web Searches
+@subsection Web Searches
+@cindex nnweb
+@cindex DejaNews
+@cindex Alta Vista
+@cindex InReference
+@cindex Usenet searches
+@cindex searching the Usenet
+
+It's, like, too neat to search the Usenet for articles that match a
+string, but it, like, totally @emph{sucks}, like, totally, to use one of
+those, like, Web browsers, and you, like, have to, rilly, like, look at
+the commercials, so, like, with Gnus you can do @emph{rad}, rilly,
+searches without having to use a browser.
+
+The @code{nnweb} backend allows an easy interface to the mighty search
+engine.  You create an @code{nnweb} group, enter a search pattern, and
+then enter the group and read the articles like you would any normal
+group.  The @kbd{G n} command in the group buffer (@pxref{Foreign
+Groups}) will do this in an easy-to-use fashion.
+
+@code{nnweb} groups don't really lend themselves to being solid
+groups---they have a very fleeting idea of article numbers.  In fact,
+each time you enter an @code{nnweb} group (not even changing the search
+pattern), you are likely to get the articles ordered in a different
+manner.  Not even using duplicate suppression (@code{Duplicate
+Suppression}) will help, since @code{nnweb} doesn't even know the
+@code{Message-ID} of the articles before reading them using some search
+engines (DejaNews, for instance).  The only possible way to keep track
+of which articles you've read is by scoring on the @code{Date}
+header---mark all articles that were posted before the last date you
+read the group as read.
+
+If the search engine changes its output substantially, @code{nnweb}
+won't be able to parse it and will fail.  One could hardly fault the Web
+providers if they were to do this---their @emph{raison d'etre} is to
+make money off of advertisements, not to provide services to the
+community.  Since @code{nnweb} washes the ads off all the articles, one
+might think that the providers might be somewhat miffed.  We'll see.
+
+You must have the @code{url} and @code{w3} package installed to be able
+to use @code{nnweb}.
+
+Virtual server variables:
+
+@table @code
+@item nnweb-type
+@vindex nnweb-type
+What search engine type is being used.  The currently supported types
+are @code{dejanews}, @code{altavista} and @code{reference}.
+
+@item nnweb-search
+@vindex nnweb-search
+The search string to feed to the search engine.
+
+@item nnweb-max-hits
+@vindex nnweb-max-hits
+Advisory maximum number of hits per search to display.  The default is
+100.
+
+@item nnweb-type-definition
+@vindex nnweb-type-definition
+Type-to-definition alist.  This alist says what @code{nnweb} should do
+with the various search engine types.  The following elements must be
+present: 
+
+@table @code
+@item article
+Function to decode the article and provide something that Gnus
+understands. 
+
+@item map
+Function to create an article number to message header and URL alist. 
+
+@item search
+Function to send the search string to the search engine.
+
+@item address
+The address the aforementioned function should send the search string
+to. 
+
+@item id
+Format string URL to fetch an article by @code{Message-ID}.
+@end table
+
+@end table
+
+
+
+@node Mail-To-News Gateways
+@subsection Mail-To-News Gateways
+@cindex mail-to-news gateways
+@cindex gateways
+
+If your local @code{nntp} server doesn't allow posting, for some reason
+or other, you can post using one of the numerous mail-to-news gateways.
+The @code{nngateway} backend provides the interface.
+
+Note that you can't read anything from this backend---it can only be
+used to post with.
+
+Server variables:
+
+@table @code
+@item nngateway-address 
+@vindex nngateway-address 
+This is the address of the mail-to-news gateway.
+
+@item nngateway-header-transformation
+@vindex nngateway-header-transformation
+News headers have often have to be transformed in some odd way or other
+for the mail-to-news gateway to accept it.  This variable says what 
+transformation should be called, and defaults to
+@code{nngateway-simple-header-transformation}.  The function is called
+narrowed to the headers to be transformed and with one parameter---the
+gateway address.
+
+This default function just inserts a new @code{To} header based on the
+@code{Newsgroups} header and the gateway address---an article with this
+@code{Newsgroups} header:
+
+@example
+Newsgroups: alt.religion.emacs
+@end example
+
+will get this @code{From} header inserted:
+
+@example
+To: alt-religion-emacs@@GATEWAY
+@end example
+
+@end table
+
+So, to use this, simply say something like:
+
+@lisp
+(setq gnus-post-method '(nngateway "GATEWAY.ADDRESS"))
+@end lisp
+
+
 @node Combined Groups
 @section Combined Groups
 
 @node Combined Groups
 @section Combined Groups
 
@@ -10105,9 +10411,16 @@ word that appears in subjects of articles that are marked with
 @code{gnus-read-mark} will result in a score rule that increase the
 score with 30 points.
 
 @code{gnus-read-mark} will result in a score rule that increase the
 score with 30 points.
 
+@vindex gnus-default-ignored-adaptive-words
 @vindex gnus-ignored-adaptive-words
 @vindex gnus-ignored-adaptive-words
-Words that appear in the @code{gnus-ignored-adaptive-words} list will be
-ignored.
+Words that appear in the @code{gnus-default-ignored-adaptive-words} list
+will be ignored.  If you wish to add more words to be ignored, use the
+@code{gnus-ignored-adaptive-words} list instead.
+
+@vindex gnus-adaptive-word-syntax-table
+When the scoring is done, @code{gnus-adaptive-word-syntax-table} is the
+syntax table in effect.  It is similar to the standard syntax table, but
+it considers numbers to be non-word-consituant characters.
 
 After using this scheme for a while, it might be nice to write a
 @code{gnus-psychoanalyze-user} command to go through the rules and see
 
 After using this scheme for a while, it might be nice to write a
 @code{gnus-psychoanalyze-user} command to go through the rules and see
@@ -10145,7 +10458,7 @@ A list.  The elements in this list can be:
 
 @enumerate
 @item 
 
 @enumerate
 @item 
-@var{(regexp file-name)}.  If the @var{regexp} matches the group name,
+@var{(regexp file-name)}.  If the @var{regexp} matches the group name,
 the @var{file-name} will will be used as the home score file.
 
 @item 
 the @var{file-name} will will be used as the home score file.
 
 @item 
@@ -10185,9 +10498,9 @@ their own home score files:
 @lisp
 (setq gnus-home-score-file
       ;; All groups that match the regexp "\\.emacs"
 @lisp
 (setq gnus-home-score-file
       ;; All groups that match the regexp "\\.emacs"
-      '("\\.emacs" "emacs.SCORE")
+      '("\\.emacs" "emacs.SCORE")
       ;; All the comp groups in one score file
       ;; All the comp groups in one score file
-       ("^comp" "comp.SCORE"))
+       ("^comp" "comp.SCORE"))
 @end lisp
    
 @vindex gnus-home-adapt-file
 @end lisp
    
 @vindex gnus-home-adapt-file
@@ -10230,6 +10543,28 @@ your own article.
 These two functions are both primarily meant to be used in hooks like
 @code{message-sent-hook}.  
 
 These two functions are both primarily meant to be used in hooks like
 @code{message-sent-hook}.  
 
+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
+mine:  
+
+@example
+<x6u3u47icf.fsf@@eyesore.no>
+<x6sp9o7ibw.fsf@@eyesore.no>
+@end example
+
+So ``my'' ident on this machine is @samp{x6}.  This can be
+exploited---the following rule will raise the score on all followups to
+myself: 
+
+@lisp
+("references" 
+ "<x6[0-9a-z]+\\.fsf@.*eyesore.no>" 1000 nil r)
+@end lisp
+
+Whether it's the first two or first three characters that are ``yours''
+is system-dependent.
+
+
 @node Scoring Tips
 @section Scoring Tips
 @cindex scoring tips
 @node Scoring Tips
 @section Scoring Tips
 @cindex scoring tips
@@ -10936,6 +11271,11 @@ process mark, just perform the operation on the current article.
 Quite simple, really, but it needs to be made clear so that surprises
 are avoided.
 
 Quite simple, really, but it needs to be made clear so that surprises
 are avoided.
 
+Commands that react to the process mark will push the current list of
+process marked articles onto a stack and will then clear all process
+marked articles.  You can restore the previous configuration with the
+@kbd{M P y} command (@pxref{Setting Process Marks}).
+
 @vindex gnus-summary-goto-unread
 One thing that seems to shock & horrify lots of people is that, for
 instance, @kbd{3 d} does exactly the same as @kbd{d} @kbd{d} @kbd{d}.
 @vindex gnus-summary-goto-unread
 One thing that seems to shock & horrify lots of people is that, for
 instance, @kbd{3 d} does exactly the same as @kbd{d} @kbd{d} @kbd{d}.
@@ -12015,6 +12355,21 @@ To use moderation mode in these two groups, say:
 
 @table @code
 
 
 @table @code
 
+@item gnus-directory
+@vindex gnus-directory
+All Gnus directories will be initialized from this variable, which
+defaults to the @samp{SAVEDIR} environment variable, or @file{~/News/}
+if that variable isn't set.
+
+@item gnus-default-directory
+@vindex gnus-default-directory
+Not related to the above variable at all---this variable says what the
+default directory of all Gnus buffers should be.  If you issue commands
+like @kbd{C-x C-f}, the prompt you'll get starts in the current buffer's
+default directory.  If this variable is @code{nil} (which is the
+default), the default directory will be the default directory of the
+buffer you were in when you started Gnus.
+
 @item gnus-verbose
 @vindex gnus-verbose
 This variable is an integer between zero and ten.  The higher the value,
 @item gnus-verbose
 @vindex gnus-verbose
 This variable is an integer between zero and ten.  The higher the value,
@@ -13017,6 +13372,7 @@ In the examples and definitions I will refer to the imaginary backend
 @menu
 * Required Backend Functions::        Functions that must be implemented.
 * Optio