Add webmail.
[gnus] / texi / gnus.texi
index 5b4ff1c..a468183 100644 (file)
@@ -1,7 +1,7 @@
-@c \input texinfo                  @c -*-texinfo-*-
+\input texinfo                  @c -*-texinfo-*-  -*- coding: iso-latin-1 -*-
 
 @setfilename gnus
-@settitle Pterodactyl Gnus 0.97 Manual
+@settitle Pterodactyl Gnus  Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -319,7 +319,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Pterodactyl Gnus 0.97 Manual
+@title Pterodactyl Gnus  Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -355,7 +355,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.
 
-This manual corresponds to Pterodactyl Gnus 0.97.
+This manual corresponds to Pterodactyl Gnus .
 
 @end ifinfo
 
@@ -722,6 +722,19 @@ to will be subscribed hierarchically.
 @vindex gnus-subscribe-killed
 Kill all new groups.
 
+@item gnus-subscribe-topics
+@vindex gnus-subscribe-topics
+Put the groups into the topic that has a matching @code{subscribe} topic 
+parameter (@pxref{Topic Parameters}).  For instance, a @code{subscribe}
+topic parameter that looks like
+
+@example
+"nnslashdot"
+@end example
+
+will mean that all groups that match that regex will be subscribed under 
+that topic.
+
 @end table
 
 @vindex gnus-subscribe-hierarchical-interactive
@@ -1289,7 +1302,7 @@ The native select method.
 @vindex gnus-group-highlight
 Highlighting in the group buffer is controlled by the
 @code{gnus-group-highlight} variable.  This is an alist with elements
-that look like @var{(form . face)}.  If @var{form} evaluates to
+that look like @code{(@var{form} . @var{face})}.  If @var{form} evaluates to
 something non-@code{nil}, the @var{face} will be used on the line.
 
 Here's an example value for this variable that might look nice if the
@@ -1447,7 +1460,7 @@ this command, Gnus will offer to fetch all the old articles in this
 group from the server.  If you give a numerical prefix @var{N}, @var{N}
 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 @var{abs(N)} oldest articles.
+negative, Gnus fetches the @code{abs(@var{N})} oldest articles.
 
 @item RET
 @kindex RET (Group)
@@ -2164,7 +2177,7 @@ 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.
 
-@item @var{(variable form)}
+@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
@@ -3601,15 +3614,16 @@ highlight the current article in the summary buffer.
 @item gnus-summary-highlight
 @vindex gnus-summary-highlight
 Summary lines are highlighted according to this variable, which is a
-list where the elements are of the format @var{(FORM . FACE)}.  If you
-would, for instance, like ticked articles to be italic and high-scored
-articles to be bold, you could set this variable to something like
+list where the elements are of the format @code{(@var{form}
+. @var{face})}.  If you would, for instance, like ticked articles to be
+italic and high-scored articles to be bold, you could set this variable
+to something like
 @lisp
 (((eq mark gnus-ticked-mark) . italic)
  ((> score default) . bold))
 @end lisp
-As you may have guessed, if @var{FORM} returns a non-@code{nil} value,
-@var{FACE} will be applied to the line.
+As you may have guessed, if @var{form} returns a non-@code{nil} value,
+@var{face} will be applied to the line.
 @end table
 
 
@@ -4017,7 +4031,7 @@ This command is mainly used if you have several accounts and want to
 ship a mail to a different account of yours.  (If you're both
 @code{root} and @code{postmaster} and get a mail for @code{postmaster}
 to the @code{root} account, you may want to resend it to
-@code{postmaster}.  Ordnung muß sein!
+@code{postmaster}.  Ordnung mu\e-Aß sein!\e$)A
 
 This command understands the process/prefix convention
 (@pxref{Process/Prefix}).
@@ -4290,7 +4304,7 @@ Canceled article (@code{gnus-canceled-mark})
 
 @item F
 @vindex gnus-souped-mark
-@sc{SOUP}ed article (@code{gnus-souped-mark}).  @xref{SOUP}.
+@sc{soup}ed article (@code{gnus-souped-mark}).  @xref{SOUP}.
 
 @item Q
 @vindex gnus-sparse-mark
@@ -6345,8 +6359,9 @@ text, the signature, and adds buttons to the body and the head.
 @vindex gnus-header-face-alist
 Highlight the headers (@code{gnus-article-highlight-headers}).  The
 highlighting will be done according to the @code{gnus-header-face-alist}
-variable, which is a list where each element has the form @var{(regexp
-name content)}.  @var{regexp} is a regular expression for matching the
+variable, which is a list where each element has the form
+@code{(@var{regexp} @var{name} @var{content})}.
+@var{regexp} is a regular expression for matching the
 header, @var{name} is the face used for highlighting the header name
 (@pxref{Faces and Fonts}) and @var{content} is the face for highlighting
 the header value.  The first match made will be used.  Note that
@@ -6576,6 +6591,10 @@ Hide @sc{pem} (privacy enhanced messages) cruft
 @item W W B
 @kindex W W B (Summary)
 @findex gnus-article-strip-banner
+@cindex banner
+@cindex OneList
+@cindex stripping advertisments
+@cindex advertisments
 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
@@ -6758,7 +6777,7 @@ CRs into LF (this takes care of Mac line endings)
 Treat quoted-printable (@code{gnus-article-de-quoted-unreadable}).
 Quoted-Printable is one common @sc{mime} encoding employed when sending
 non-ASCII (i. e., 8-bit) articles.  It typically makes strings like
-@samp{déjà vu} look like @samp{d=E9j=E0 vu}, which doesn't look very
+@samp{d\e-Aéjà vu} look like @samp{d=E9j=E0 vu}, which doesn't look very\e$)A
 readable to me.  Note that the this is usually done automatically by
 Gnus if the message in question has a @code{Content-Transfer-Encoding}
 header that says that this encoding has been done.
@@ -6923,7 +6942,7 @@ used to say what headers to apply the buttonize coding to:
 (HEADER REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR)
 @end lisp
 
-@var{HEADER} is a regular expression.
+@var{header} is a regular expression.
 
 @item gnus-button-url-regexp
 @vindex gnus-button-url-regexp
@@ -7104,7 +7123,51 @@ Translate the article from one language to another
 @section @sc{mime} Commands
 @cindex MIME decoding
 
+The following commands all understand the numerical prefix.  For
+instance, @kbd{3 b} means ``view the third @sc{mime} part''.
+
 @table @kbd
+@item b
+@itemx K b
+@kindex b (Summary)
+@kindex K b (Summary)
+View the @sc{mime} part.
+
+@item K o
+@kindex K o (Summary)
+Save the @sc{mime} part.
+
+@item K c
+@kindex K c (Summary)
+Copy the @sc{mime} part.
+
+@item K e
+@kindex K e (Summary)
+View the @sc{mime} part externally.
+
+@item K i
+@kindex K i (Summary)
+View the @sc{mime} part internally.
+
+@item K |
+@kindex K | (Summary)
+Pipe the @sc{mime} part to an external command.
+@end table
+
+The rest of these @sc{mime} commands do not use the numerical prefix in
+the same manner:
+
+@table @kbd
+@item K b
+@kindex K b (Summary)
+Make all the @sc{mime} parts have buttons in from of them.
+
+@item K m
+@kindex K m (Summary)
+Some multipart messages are transmitted with missing or faulty headers.
+This command will attempt to ``repair'' these messages so that they can
+be viewed in a more pleasant manner.
+
 @item X m
 @kindex X m (Summary)
 @findex gnus-summary-save-parts
@@ -7364,6 +7427,20 @@ would, perhaps, be best if the @sc{nntp} server you consult is the one
 updating the spool you are reading from, but that's not really
 necessary.
 
+It can also be a list of select methods, as well as the special symbol
+@code{current}, which means to use the current select method.  If it
+is a list, Gnus will try all the methods in the list until it finds a
+match.
+
+Here's an example setting that will first try the current method, and
+then ask Deja if that fails:
+
+@lisp
+(setq gnus-refer-article-method
+      '(current
+        (nnweb "refer" (nnweb-type dejanews))))
+@end lisp
+
 Most of the mail backends support fetching by @code{Message-ID}, but do
 not do a particularly excellent job at it.  That is, @code{nnmbox} and
 @code{nnbabyl} are able to locate articles from any groups, while
@@ -7551,8 +7628,8 @@ Variables related to the display are:
 @item gnus-tree-brackets
 @vindex gnus-tree-brackets
 This is used for differentiating between ``real'' articles and
-``sparse'' articles.  The format is @var{((real-open . real-close)
-(sparse-open . sparse-close) (dummy-open . dummy-close))}, and the
+``sparse'' articles.  The format is @code{((@var{real-open} . @var{real-close})
+(@var{sparse-open} . @var{sparse-close}) (@var{dummy-open} . @var{dummy-close}))}, and the
 default is @code{((?[ . ?]) (?( . ?)) (?@{ . ?@}) (?< . ?>))}.
 
 @item gnus-tree-parent-child-edges
@@ -8525,8 +8602,7 @@ You can, of course, write your own functions to be called from
 @code{gnus-part-display-hook}.  The functions are called narrowed to the
 part, and you can do anything you like, pretty much.  There is no
 information that you have to keep in the buffer---you can change
-everything.  However, you shouldn't delete any headers.  Instead make
-them invisible if you want to make them go away.
+everything.  
 
 
 @node Article Keymap
@@ -8894,8 +8970,7 @@ messages in one file per month:
 (setq gnus-message-archive-group
       '((if (message-news-p)
             "misc-news"
-          (concat "mail." (format-time-string
-                           "%Y-%m" (current-time))))))
+          (concat "mail." (format-time-string "%Y-%m")))))
 @end lisp
 
 (XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to
@@ -8975,15 +9050,17 @@ 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.
-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
+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}.
 
 Each style may contain a arbitrary amount of @dfn{attributes}.  Each
-attribute consists of a @var{(name value)} pair.  The attribute name
-can be one of @code{signature}, @code{signature-file},
+attribute consists of a @code{(@var{name} . @var{value})} pair.  The
+attribute name can be one of @code{signature}, @code{signature-file},
 @code{organization}, @code{address}, @code{name} or @code{body}.  The
 attribute name can also be a string.  In that case, this will be used as
 a header name, and the value will be inserted in the headers of the
@@ -9019,6 +9096,8 @@ So here's a new example:
          (signature my-quote-randomizer))
         ((message-news-p)
          (signature my-news-signature))
+        ((header "From.*To" "larsi.*org")
+         (Organization "Somewhere, Inc."))
         ((posting-from-work-p)
          (signature-file "~/.work-signature")
          (address "user@@bar.foo")
@@ -9156,6 +9235,7 @@ The different methods all have their peculiarities, of course.
 * The Server Buffer::     Making and editing virtual servers.
 * Getting News::          Reading USENET news with Gnus.
 * Getting Mail::          Reading your personal mail with Gnus.
+* Browsing the Web::      Getting messages from a plethora of Web sources.
 * Other Sources::         Reading directories, files, SOUP packets.
 * Combined Groups::       Combining groups into one group.
 * Gnus Unplugged::        Reading news and mail offline.
@@ -9325,7 +9405,7 @@ backend, and the second is the @dfn{address}, or @dfn{name}, if you
 will.
 
 After these two elements, there may be an arbitrary number of
-@var{(variable form)} pairs.
+@code{(@var{variable} @var{form})} pairs.
 
 To go back to the first example---imagine that you want to read from
 port 15 on that machine.  This is what the select method should
@@ -10221,6 +10301,33 @@ Or using the default path:
 (file)
 @end lisp
 
+If the mail spool file is not located on the local machine, it's best to 
+use POP or IMAP or the like to fetch the mail.  You can not you ange-ftp 
+file names here---it has no way to lock the mail spool while moving the
+mail.
+
+If it's impossible to set up a proper server, you can use ssh instead.
+
+@lisp
+(setq mail-sources
+      '((file :prescript "ssh host bin/getmail >%t")))
+@end lisp
+
+The @samp{getmail} script would look something like the following:
+
+@example
+#!/bin/sh
+#  getmail - move mail from spool to stdout
+#  flu@@iki.fi
+
+MOVEMAIL=/usr/lib/emacs/20.3/i386-redhat-linux/movemail
+TMP=~/Mail/tmp
+rm -f $TMP; $MOVEMAIL $MAIL $TMP >/dev/null && cat $TMP
+@end example
+
+Alter this script to fit find the @samp{movemail} you want to use.
+
+
 @item directory
 Get mail from several files in a directory.  This is typically used when
 you have procmail split the incoming mail into several files.
@@ -10374,6 +10481,98 @@ An example maildir mail source:
 (maildir :path "/home/user-name/Maildir/cur")
 @end lisp
 
+@item imap
+Get mail from a IMAP server. If you don't want to use 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 IMAP mailbox.
+
+Keywords:
+
+@table @code
+@item :server
+The name of the IMAP server.  The default is taken from the
+@code{MAILHOST} environment variable.
+
+@item :port
+The port number of the IMAP server.  The default is @samp{143}, or
+@samp{993} for SSL connections.
+
+@item :user
+The user name to give to the IMAP server.  The default is the login
+name.
+
+@item :password
+The password to give to the IMAP server.  If not specified, the user is
+prompted.
+
+@item :stream
+What stream to use for connecting to the server, this is one of the
+symbols in @code{imap-stream-alist}. Right now, this means
+@samp{kerberos4}, @samp{ssl} or the default @samp{network}.
+
+@item :authenticator
+Which authenticator to use for authenticating to the server, this is one
+of the symbols in @code{imap-authenticator-alist}. Right now, this means
+@samp{kerberos4}, @samp{cram-md5}, @samp{anonymous} or the default
+@samp{login}.
+
+@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 :predicate
+The predicate used to find articles to fetch. The default, 
+@samp{UNSEEN UNDELETED}, is probably the best choice for most people,
+but if you sometimes peek in your mailbox with a IMAP client and mark
+some articles as read (or; SEEN) you might want to set this to
+@samp{nil}. Then all articles in the mailbox is fetched, no matter
+what. For a complete list of predicates, see RFC2060 \e-A§6.4.4.\e$)A
+
+@item :fetchflag
+How to flag fetched articles on the server, the default @samp{\Deleted}
+will mark them as deleted, an alternative would be @samp{\Seen} which
+would simply mark them as read. Theese are the two most likely choices,
+but more flags are defined in RFC2060 \e-A§2.3.2.\e$)A
+
+@item :dontexpunge
+If non-nil, don't remove all articles marked as deleted in the mailbox
+after finishing the fetch.
+
+@end table
+
+An example IMAP mail source:
+
+@lisp
+(imap :server "mail.mycorp.com" :stream kerberos4)
+@end lisp
+
+@item webmail
+Get mail from a webmail server, such as www.hotmail.com and
+mail.yahoo.com.
+
+Keywords:
+
+@table @code
+@item :subtype
+The type of the webmail server.  The default is @code{hotmail}. The
+alternative is @code{yahoo}.
+
+@item :user
+The user name to give to the webmail server.  The default is the login
+name.
+
+@item :password
+The password to give to the webmail server.  If not specified, the user is
+prompted.
+
+@end table
+
+An example webmail source:
+
+@lisp
+(webmail :subtype 'yahoo :user "user-name" :password "secret")
+@end lisp
 @end table
 
 
@@ -10570,51 +10769,54 @@ name.  Normal regexp match expansion will be done.  See below for
 examples.
 
 @item
-@var{(FIELD VALUE [- RESTRICT [- RESTRICT [...]]] SPLIT)}: If the split
-is a list, the first element of which is a string, then store the
-message as specified by SPLIT, if header FIELD (a regexp) contains VALUE
-(also a regexp).  If RESTRICT (yet another regexp) matches some string
-after FIELD and before the end of the matched VALUE, the SPLIT is
-ignored.  If none of the RESTRICT clauses match, SPLIT is processed.
+@code{(@var{field} @var{value} @var{[- restrict [- restrict [@dots{}]]]} 
+@var{split})}: If the split is a list, the first element of which is a
+string, then store the message as specified by @var{split}, if header
+@var{field} (a regexp) contains @var{value} (also a regexp).  If
+@var{restrict} (yet another regexp) matches some string after
+@var{field} and before the end of the matched @var{value}, the
+@var{split} is ignored.  If none of the @var{restrict} clauses match,
+@var{split} is processed.
 
 @item
-@var{(| SPLIT...)}: If the split is a list, and the first element is
-@code{|} (vertical bar), then process each SPLIT until one of them
-matches.  A SPLIT is said to match if it will cause the mail message to
-be stored in one or more groups.
+@code{(| @var{split}@dots{})}: If the split is a list, and the first
+element is @code{|} (vertical bar), then process each @var{split} until
+one of them matches.  A @var{split} is said to match if it will cause
+the mail message to be stored in one or more groups.
 
 @item
-@var{(& SPLIT...)}: If the split is a list, and the first element is
-@code{&}, then process all SPLITs in the list.
+@code{(& @var{split}@dots{})}: If the split is a list, and the first
+element is @code{&}, then process all @var{split}s in the list.
 
 @item
 @code{junk}: If the split is the symbol @code{junk}, then don't save
 this message. Use with extreme caution.
 
 @item
-@var{(: function arg1 arg2 ...)}:  If the split is a list, and the first
-element is @code{:}, then the second element will be called as a
-function with @var{args} given as arguments.  The function should return
-a SPLIT.
+@code{(: @var{function} @var{arg1} @var{arg2} @dots{})}:  If the split is
+a list, and the first element is @code{:}, then the second element will
+be called as a function with @var{args} given as arguments.  The
+function should return a @var{split}.
 
 @item
-@var{(! FUNC SPLIT)}: If the split is a list, and the first element
-is @code{!}, then SPLIT will be processed, and FUNC will be called as a
-function with the result of SPLIT as argument. FUNC should return a split.
+@code{(! @var{func} @var{split})}: If the split is a list, and the first
+element is @code{!}, then SPLIT will be processed, and FUNC will be
+called as a function with the result of SPLIT as argument. FUNC should
+return a split.
 
 @item
 @code{nil}: If the split is @code{nil}, it is ignored.
 
 @end enumerate
 
-In these splits, @var{FIELD} must match a complete field name.
-@var{VALUE} must match a complete word according to the fundamental mode
+In these splits, @var{field} must match a complete field name.
+@var{value} must match a complete word according to the fundamental mode
 syntax table.  You can use @code{.*} in the regexps to match partial
-field names or words.  In other words, all @var{VALUE}'s are wrapped in
+field names or words.  In other words, all @var{value}'s are wrapped in
 @samp{\<} and @samp{\>} pairs.
 
 @vindex nnmail-split-abbrev-alist
-@var{FIELD} and @var{VALUE} can also be lisp symbols, in that case they
+@var{field} and @var{value} can also be lisp symbols, in that case they
 are expanded as specified by the variable
 @code{nnmail-split-abbrev-alist}.  This is an alist of cons cells, where
 the @code{car} of a cell contains the key, and the @code{cdr} contains the associated
@@ -10662,11 +10864,11 @@ parameter to the list of additional addresses and it's done.  If you'd
 rather use a regular expression, set @var{split-regexp}.
 
 All these parameters in a group will be used to create an
-@code{nnmail-split-fancy} split, in which the @var{FIELD} is @samp{any},
-the @var{VALUE} is a single regular expression that matches
+@code{nnmail-split-fancy} split, in which the @var{field} is @samp{any},
+the @var{value} is a single regular expression that matches
 @var{to-list}, @var{to-address}, all of @var{extra-aliases} and all
-matches of @var{split-regexp}, and the @var{SPLIT} is the name of the
-group.  @var{RESTRICT}s are also supported: just set the
+matches of @var{split-regexp}, and the @var{split} is the name of the
+group.  @var{restrict}s are also supported: just set the
 @var{split-exclude} parameter to a list of regular expressions.
 
 If you can't get the right split to be generated using all these
@@ -10723,15 +10925,15 @@ splits like this:
 (: gnus-mlsplt-fancy GROUPS NO-CROSSPOST CATCH-ALL)
 @end lisp
 
-@var{GROUPS} may be a regular expression or a list of group names whose
+@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
+@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
+@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.
+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.
 
 @findex gnus-group-split-setup
 Unfortunately, scanning all groups and their parameters can be quite
@@ -10754,10 +10956,10 @@ you.  For example, add to your @file{.gnus}:
 (gnus-group-split-setup AUTO-UPDATE CATCH-ALL)
 @end lisp
 
-If @var{AUTO-UPDATE} is non-@code{nil}, @code{gnus-group-split-update}
+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),
 @code{gnus-group-split-default-catch-all-group} will be set to its
 value.
 
@@ -11496,6 +11698,255 @@ friendly mail backend all over.
 @end table
 
 
+@node Browsing the Web
+@section Browsing the Web
+@cindex web
+@cindex browsing the web
+@cindex www
+@cindex http
+
+Web-based discussion forums are getting more and more popular.  On many
+subjects, the web-based forums have become the most important forums,
+eclipsing the importance of mailing lists and news groups.  The reason
+is easy to understand---they are friendly to new users; you just point
+and click, and there's the discussion.  With mailing lists, you have to
+go through a cumbersome subscription procedure, and most people don't
+even know what a news group is.
+
+The problem with this scenario is that web browsers are not very good at 
+being newsreaders.  They do not keep track of what articles you've read; 
+they do not allow you to score on subjects you're interested in; they do 
+not allow off-line browsing; they require you to click around and drive
+you mad in the end.
+
+So---if web browsers suck at reading discussion forums, why not use Gnus 
+to do it instead?
+
+Gnus has been getting quite a collection of backends for providing
+interfaces to these sources.
+
+@menu
+* Web Searches::          Creating groups from articles that match a string.
+* Slashdot::              Reading the Slashdot comments.
+* Ultimate::              The Ultimate Bulletin Board systems.
+@end menu
+
+The main caveat with all these web sources is that they probably won't
+work for a very long time.  Gleaning information from the @sc{html} data 
+is guesswork at best, and when the layout is altered, the Gnus backend
+will fail.  If you have reasonably new versions of these backends,
+though, you should be ok.
+
+One thing all these Web methods have in common is that the Web sources
+are often down, unavailable or just plain too slow to be fun.  In those
+cases, it makes a lot of sense to let the Gnus Agent (@pxref{Gnus
+Unplugged}) handle downloading articles, and then you can read them at
+leisure from your local disk.  No more World Wide Wait for you.
+
+
+@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 w} 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 (@pxref{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 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'\e-Aêtre} is to\e$)A
+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{dejanewsold}, @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 Slashdot
+@subsection Slashdot
+@cindex Slashdot
+@cindex nnslashdot
+
+Slashdot (@file{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.
+
+The easiest way to read this source is to put something like the
+following in your @file{.gnus.el} file:
+
+@lisp
+(setq gnus-secondary-select-methods
+      '((nnslashdot "")))
+@end lisp
+
+This will make Gnus query the @code{nnslashdot} backend for new comments
+and groups.  The @kbd{F} command will subscribe each new news article as
+a new Gnus group, and you can read the comments by entering these
+groups.  (Note that the default subscription method is to subscribe new
+groups as zombies.  Other methods are available (@pxref{Subscription
+Methods}).
+
+When following up to @code{nnslashdot} comments (or posting new
+comments), some light @sc{html}izations will be performed.  In
+particular, text quoted with @samp{> } will be quoted with
+@code{blockquote} instead, and signatures will have @code{br} added to
+the end of each line.  Other than that, you can just write @sc{html}
+directly into the message buffer.  Note that Slashdot filters out some
+@sc{html} forms.
+
+The following variables can be altered to change its behavior:
+
+@table @code
+@item nnslashdot-threaded
+Whether @code{nnslashdot} should display threaded groups or not.  The
+default is @code{t}.  To be able to display threads, @code{nnslashdot}
+has to retrieve absolutely all comments in a group upon entry.  If a
+threaded display is not required, @code{nnslashdot} will only retrieve
+the comments that are actually wanted by the user.  Threading is nicer,
+but much, much slower than untreaded.
+
+@item nnslashdot-login-name
+@vindex nnslashdot-login-name
+The login name to use when posting.
+
+@item nnslashdot-password
+@vindex nnslashdot-password
+The password to use when posting.
+
+@item nnslashdot-directory
+@vindex nnslashdot-directory
+Where @code{nnslashdot} will store its files.  The default value is
+@samp{~/News/slashdot/}.
+
+@item nnslashdot-active-url
+@vindex nnslashdot-active-url
+The @sc{url} format string that will be used to fetch the information on 
+news articles and comments.  The default is
+@samp{http://slashdot.org/search.pl?section=&min=%d}.
+
+@item nnslashdot-comments-url
+@vindex nnslashdot-comments-url
+The @sc{url} format string that will be used to fetch comments.  The
+default is
+@samp{http://slashdot.org/comments.pl?sid=%s&threshold=%d&commentsort=%d&mode=flat&startat=%d}.
+
+@item nnslashdot-article-url
+@vindex nnslashdot-article-url
+The @sc{url} format string that will be used to fetch the news article.  The
+default is
+@samp{http://slashdot.org/article.pl?sid=%s&mode=nocomment}.
+
+@item nnslashdot-threshold
+@vindex nnslashdot-threshold
+The score threshold.  The default is -1.
+
+@item nnslashdot-group-number
+@vindex nnslashdot-group-number
+The number of old groups, in addition to the ten latest, to keep
+updated.  The default is 0.
+
+@end table
+
+
+
+@node Ultimate
+@subsection Ultimate
+@cindex nnultimate
+@cindex Ultimate Bulletin Board
+
+The Ultimate Bulletin Board (@file{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.
+
+The easiest way to get started with @code{nnultimate} is to say
+something like the following in the group buffer:  @kbd{B nnultimate RET 
+http://www.tcj.com/messboard/ubbcgi/ RET}.  (Substitute the @sc{url}
+(not including @samp{Ultimate.cgi} or the like at the end) for a forum
+you're interested in; there's quite a list of them on the Ultimate web
+site.)  Then subscribe to the groups you're interested in from the
+server buffer, and read them from the group buffer.
+
+The following @code{nnultimate} variables can be altered:
+
+@table @code
+@item nnultimate-directory
+@vindex nnultimate-directory
+The directory where @code{nnultimate} stores its files.  The default is
+@samp{~/News/ultimate/}.
+@end table
+
 
 @node Other Sources
 @section Other Sources
@@ -11509,8 +11960,8 @@ newsgroups.
 * 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.
+* IMAP::                  Using Gnus as a IMAP client.
 @end menu
 
 
@@ -11833,7 +12284,7 @@ Of course, us Unix Weenie types of human beans use things like
 transport things like Ghod intended.  And then we just use normal
 newsreaders.
 
-However, it can sometimes be convenient to do something that's a bit
+However, it can sometimes be convenient to do something that's a bit
 easier on the brain if you have a very slow modem, and you're not really
 that interested in doing things properly.
 
@@ -11861,12 +12312,12 @@ of packets:
 @item message packets
 These are packets made at the server, and typically contain lots of
 messages for you to read.  These are called @file{SoupoutX.tgz} by
-default, where @var{X} is a number.
+default, where @var{x} is a number.
 
 @item response packets
 These are packets made at the home machine, and typically contains
 replies that you've written.  These are called @file{SoupinX.tgz} by
-default, where @var{X} is a number.
+default, where @var{x} is a number.
 
 @end table
 
@@ -12102,96 +12553,6 @@ system you just use the first line.  If you only want mail to be
 @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 w} 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 (@pxref{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 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'être} 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{dejanewsold}, @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
@@ -12270,6 +12631,267 @@ So, to use this, simply say something like:
 @end lisp
 
 
+
+@node IMAP
+@subsection IMAP
+@cindex nnimap
+@cindex IMAP
+
+IMAP is a network protocol for reading mail (or news, or ...), think of
+it as a modernized NNTP. Connecting to a IMAP server is much similar to
+connecting to a news server, you just specify the network address of the
+server.
+
+The following variables can be used to create a virtual @code{nnimap}
+server:
+
+@table @code
+
+@item nnimap-address
+@vindex nnimap-address
+
+The address of the remote IMAP server. Defaults to the virtual server
+name if not specified.
+
+@item nnimap-server-port
+@vindex nnimap-server-port
+Port on server to contact. Defaults to port 143, or 993 for SSL.
+
+@item nnimap-list-pattern
+@vindex nnimap-list-pattern
+String or list of strings of mailboxes to limit available groups
+to. This is used when the server has very many mailboxes and you're only
+interested in a few -- some servers export your home directory via IMAP,
+you'll probably want to limit the mailboxes to those in @file{~/Mail/*}
+then.
+
+The string can also be a cons of REFERENCE and the string as above, what
+REFERENCE is used for is server specific, but on the University of
+Washington server it's a directory that will be concatenated with the
+mailbox.
+
+Example:
+
+@lisp
+("INBOX" "Mail/*" "alt.sex.*" ("~friend/Mail/" . "list/*"))
+@end lisp
+
+@item nnimap-stream
+@vindex nnimap-stream
+The type of stream used to connect to your server. By default, nnimap
+will use the most secure stream your server is capable of.
+
+@itemize @bullet
+@item
+@dfn{kerberos4:} Uses the `imtest' program.
+@item
+@dfn{ssl:} Uses OpenSSL or SSLeay.
+@item
+@dfn{network:} Plain, TCP/IP network connection.
+@end itemize
+
+@item nnimap-authenticator
+@vindex nnimap-authenticator
+
+The authenticator used to connect to the server. By default, nnimap will
+use the most secure authenticator your server is capable of.
+
+@itemize @bullet
+@item
+@dfn{kerberos4:} Kerberos authentication.
+@item
+@dfn{cram-md5:} Encrypted username/password via CRAM-MD5.
+@item
+@dfn{login:} Plain-text username/password via LOGIN.
+@item
+@dfn{anonymous:} Login as `anonymous', supplying your emailadress as password.
+@end itemize
+
+@item nnimap-expunge-on-close
+@cindex Expunging
+@vindex nnimap-expunge-on-close
+Unlike Parmenides the IMAP designers has decided that things that
+doesn't exist actually does exist. More specifically, 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 similair).
+
+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
+running in circles yet?
+
+Traditionally, nnimap has removed all articles marked as @code{Deleted}
+when closing a mailbox but this is now configurable by this server
+variable.
+
+The possible options are:
+
+@table @code
+
+@item always
+The default behaviour, delete all articles marked as "Deleted" when
+closing a mailbox.
+@item never
+Never actually delete articles. Currently there is no way of showing the
+articles marked for deletion in nnimap, but other IMAP clients may allow
+you to do this. If you ever want to run the EXPUNGE command manually,
+@xref{Expunging mailboxes}.
+@item ask
+When closing mailboxes, nnimap will ask if you wish to expunge deleted
+articles or not.
+@end table
+
+@end table
+
+@menu
+* Splitting in IMAP::     Splitting mail with nnimap.
+* Editing IMAP ACLs::     Limiting/enabling other users access to a mailbox.
+* Expunging mailboxes::   Equivalent of a "compress mailbox" button.
+@end menu
+
+
+
+@node Splitting in IMAP
+@subsubsection Splitting in IMAP
+@cindex splitting imap mail
+
+Splitting is something Gnus users has loved and used for years, and now
+the rest of the world is catching up. Yeah, dream on, not many IMAP
+server has server side splitting and those that have splitting seem to
+use some non-standard protocol. This means that IMAP support for Gnus
+has to do it's own splitting.
+
+And it does.
+
+There are three variables of interest:
+
+@table @code
+
+@item nnimap-split-crosspost
+@cindex splitting, crosspost
+@cindex crosspost
+@vindex nnimap-split-crosspost
+
+If non-nil, do crossposting if several split methods match the mail. If
+nil, the first match in @code{nnimap-split-rule} found will be used.
+
+Nnmail equivalent: @code{nnmail-crosspost}.
+
+@item nnimap-split-inbox
+@cindex splitting, inbox
+@cindex inbox
+@vindex nnimap-split-inbox
+
+A string or a list of strings that gives the name(s) of IMAP mailboxes
+to split from. Defaults to nil, which means that splitting is disabled!
+
+@lisp
+(setq nnimap-split-inbox '("INBOX" ("~/friend/Mail" . "lists/*") "lists.imap"))
+@end lisp
+
+No nnmail equivalent.
+
+@item nnimap-split-rule
+@cindex Splitting, rules
+@vindex nnimap-split-rule
+
+New mail found in @code{nnimap-split-inbox} will be split according to
+this variable.
+
+This variable contains a list of lists, where the first element in the
+sublist gives the name of the IMAP mailbox to move articles matching the
+regexp in the second element in the sublist. Got that? Neither did I, we
+need examples.
+
+@lisp
+(setq nnimap-split-rule
+        '(("INBOX.nnimap"        "^Sender: owner-nnimap@@vic20.globalcom.se")
+          ("INBOX.junk"          "^Subject:.*MAKE MONEY")
+          ("INBOX.private"       "")))
+@end lisp
+
+This will put all articles from the nnimap mailing list into mailbox
+INBOX.nnimap, all articles containing MAKE MONEY in the Subject: line
+into INBOX.spam and everything else in INBOX.private.
+
+The first string may contain `\\1' forms, like the ones used by
+replace-match to insert sub-expressions from the matched text. For
+instance:
+
+@lisp
+("INBOX.lists.\\1"     "^Sender: owner-\\([a-z-]+\\)@@")
+@end lisp
+
+The second element can also be a function. In that case, it will be
+called with the first element of the rule as the argument, in a buffer
+containing the headers of the article. It should return a non-nil value
+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
+of your inbox. (This might 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.)
+
+These rules are processed from the beginning of the alist toward the
+end. The first rule to make a match will "win", unless you have
+crossposting enabled. In that case, all matching rules will "win".
+
+The splitting code tries to create mailboxes if it need too.
+
+Nnmail equivalent: @code{nnmail-split-methods}.
+
+@end table
+
+@node Editing IMAP ACLs
+@subsubsection Editing IMAP ACLs
+@cindex editing imap acls
+@cindex Access Control Lists
+@cindex Editing IMAP ACLs
+@kindex G l
+@findex gnus-group-nnimap-edit-acl
+
+ACL stands for Access Control List.  ACLs are used in IMAP for limiting
+(or enabling) other users access to your mail boxes. Not all IMAP
+servers support this, this function will give an error if it doesn't.
+
+To edit a ACL for a mailbox, type @kbd{G l}
+(@code{gnus-group-edit-nnimap-acl}) and you'll be presented with a ACL
+editing window with detailed instructions.
+
+Some possible uses:
+
+@itemize @bullet
+@item
+Giving "anyone" the "lrs" rights (lookup, read, keep seen/unseen flags)
+on your mailing list mailboxes enables other users on the same server to
+follow the list without subscribing to it.
+@item
+At least with the Cyrus server, you are required to give the user
+"anyone" posting ("p") capabilities to have "plussing" work (that is,
+mail sent to user+mailbox@@domain ending up in the IMAP mailbox
+INBOX.mailbox).
+@end itemize
+
+@node Expunging mailboxes
+@subsubsection Expunging mailboxes
+@cindex expunging
+
+@cindex Expunge
+@cindex Manual expunging
+@kindex G x
+@findex gnus-group-nnimap-expunge
+
+If you're using the @code{never} setting of @code{nnimap-expunge-close},
+you may want the option of expunging all deleted articles in a mailbox
+manually. This is exactly what @kbd{G x} does.
+
+Currently there is no way of showing deleted articles, you can just
+delete them.
+
+
+
 @node Combined Groups
 @section Combined Groups
 
@@ -13831,13 +14453,14 @@ files.)
 
 @item Thread
 This match key works along the same lines as the @code{Followup} match
-key.  If you say that you want to score on a (sub-)thread started by an article with a @code{Message-ID} @var{X}, then you add a
-@samp{thread} match.  This will add a new @samp{thread} match for each
-article that has @var{X} in its @code{References} header.  (These new
-@samp{thread} matches will use the @code{Message-ID}s of these matching
-articles.)  This will ensure that you can raise/lower the score of an
-entire thread, even though some articles in the thread may not have
-complete @code{References} headers.  Note that using this may lead to
+key.  If you say that you want to score on a (sub-)thread started by an
+article with a @code{Message-ID} @var{x}, then you add a @samp{thread}
+match.  This will add a new @samp{thread} match for each article that
+has @var{x} in its @code{References} header.  (These new @samp{thread}
+matches will use the @code{Message-ID}s of these matching articles.)
+This will ensure that you can raise/lower the score of an entire thread,
+even though some articles in the thread may not have complete
+@code{References} headers.  Note that using this may lead to
 undeterministic scores of the articles in the thread.  (Using this match
 key will lead to creation of @file{ADAPT} files.)
 @end table
@@ -14166,8 +14789,8 @@ A list.  The elements in this list can be:
 
 @enumerate
 @item
-@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.
+@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.
 
 @item
 A function. If the function returns non-nil, the result will be used as
@@ -14785,7 +15408,7 @@ then this operator will return @code{false}.
 
 @item !
 @itemx not
-@itemx ¬
+@itemx \e-A¬\e$)A
 This logical operator only takes a single argument.  It returns the
 logical negation of the value of its argument.
 
@@ -15958,10 +16581,10 @@ messages from the people you like.  Each NoCeM message has a @dfn{type}
 header that gives the message a (more or less, usually less) rigorous
 definition.  Common types are @samp{spam}, @samp{spew}, @samp{mmf},
 @samp{binary}, and @samp{troll}.  To specify this, you have to use
-@var{(issuer conditions ...)} elements in the list.  Each condition is
-either a string (which is a regexp that matches types you want to use)
-or a list on the form @code{(not STRING)}, where @var{string} is a
-regexp that matches types you don't want to use.
+@code{(@var{issuer} @var{conditions} @dots{})} elements in the list.
+Each condition is either a string (which is a regexp that matches types
+you want to use) or a list on the form @code{(not @var{string})}, where
+@var{string} is a regexp that matches types you don't want to use.
 
 For instance, if you want all NoCeM messages from Chris Lewis except his
 @samp{troll} messages, you'd say:
@@ -17135,7 +17758,7 @@ David Moore---rewrite of @file{nnvirtual.el} and many other things.
 Kevin Davidson---came up with the name @dfn{ding}, so blame him.
 
 @item
-François Pinard---many, many interesting and thorough bug reports, as
+Fran\e-Açois Pinard---many, many interesting and thorough bug reports, as\e$)A
 well as autoconf support.
 
 @end itemize
@@ -17148,7 +17771,7 @@ The following people have contributed many patches and suggestions:
 Christopher Davis,
 Andrew Eskilsson,
 Kai Grossjohann,
-David Kågedal,
+David K\e-Aågedal,\e$)A
 Richard Pieri,
 Fabrice Popineau,
 Daniel Quinlan,
@@ -17234,7 +17857,7 @@ Gunnar Horrigmo,
 Richard Hoskins,
 Brad Howes,
 Miguel de Icaza,
-François Felix Ingrand,
+Fran\e-Açois Felix Ingrand,\e$)A
 Tatsuya Ichikawa, @c ?
 Ishikawa Ichiro, @c Ishikawa
 Lee Iverson,
@@ -18651,8 +19274,8 @@ From: Jason L Tibbitts III <tibbs@@hpc.uh.edu>
 @end example
 
 @item
- tanken var at når du bruker `gnus-startup-file' som prefix (FOO) til å lete
-opp en fil FOO-SERVER, FOO-SERVER.el, FOO-SERVER.eld, kan du la den være en
+ tanken var at n\e-Aår du bruker `gnus-startup-file' som prefix (FOO) til å lete\e$)A
+opp en fil FOO-SERVER, FOO-SERVER.el, FOO-SERVER.eld, kan du la den v\e-Aære en\e$)A
 liste hvor du bruker hvert element i listen som FOO, istedet.  da kunne man
 hatt forskjellige serveres startup-filer forskjellige steder.
 
@@ -18725,8 +19348,8 @@ there was a sci.somethingelse group or section, then it should prompt
 for sci? first the sci.something? then sci.somethingelse?...
 
 @item
-Ja, det burde være en måte å si slikt.  Kanskje en ny variabel?
-`gnus-use-few-score-files'?  Så kunne score-regler legges til den
+Ja, det burde v\e-Aære en måte å si slikt.  Kanskje en ny variabel?\e$)A
+`gnus-use-few-score-files'?  S\e-Aå kunne score-regler legges til den\e$)A
 "mest" lokale score-fila.  F. eks. ville no-gruppene betjenes av
 "no.all.SCORE", osv.
 
@@ -19056,7 +19679,7 @@ the current process mark set onto the stack.
 
 @item
  gnus-article-hide-pgp
-Selv ville jeg nok ha valgt å slette den dersom teksten matcher
+Selv ville jeg nok ha valgt \e-Aå slette den dersom teksten matcher\e$)A
 @example
 "\\(This\s+\\)?[^ ]+ has been automatically signed by"
 @end example
@@ -19224,18 +19847,10 @@ Bouncing articles should do MIME.
 Crossposted articles should "inherit" the % or @ mark from the other
 groups it has been crossposted to, or something.  (Agent.)
 
-@item
-`S D r' should allow expansion of aliases.
-
 @item
 If point is on a group that appears multiple times in topics, and
 you press `l', point will move to the first instance of the group.
 
-@item
-Fetch by Message-ID from dejanews.
-
-<URL:http://search.dejanews.com/msgid.xp?MID=%3C62h9l9$hm4@@basement.replay.com%3E&fmt=raw>
-
 @item
 A spec for the group line format to display the number of
 agent-downloaded articles in the group.
@@ -19287,6 +19902,19 @@ Allow "orphan" scores in the Agent scoring.
     just changed to.
 @end example
 
+
+@item
+Remove list identifiers from the subject in the summary when doing `^'
+and the like.
+
+@item
+Have the Agent write out articles, one by one, as it retrieves them,
+to avoid having to re-fetch them all if Emacs should crash while
+fetching. 
+
+@item
+Be able to forward groups of messages as MIME digests.
+
 @item
 Solve the halting problem.
 
@@ -20115,7 +20743,7 @@ on successful article retrieval.
 Get data on @var{group}.  This function also has the side effect of
 making @var{group} the current group.
 
-If @var{FAST}, don't bother to return useful data, just make @var{group}
+If @var{fast}, don't bother to return useful data, just make @var{group}
 the current group.
 
 Here's an example of some result data and a definition of the same: