\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Red Gnus 0.42 Manual
+@settitle Red Gnus 0.51 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
\marginpar[\hspace{2.5cm}\gnushead]{\gnushead}
}
-\newcommand{\gnuscleardoublepage}{\ifodd\count0\clearpage\thispagestyle{empty}\mbox{}\clearpage\else\clearpage\fi}
+\newcommand{\gnuscleardoublepage}{\ifodd\count0\mbox{}\clearpage\thispagestyle{empty}\mbox{}\clearpage\else\clearpage\fi}
\newcommand{\gnuspagechapter}[1]{
{\mbox{}}
@tex
@titlepage
-@title Red Gnus 0.42 Manual
+@title Red Gnus 0.51 Manual
@author by Lars Magne Ingebrigtsen
@page
The default is 1---this will mean that group names like
@samp{gnu.emacs.gnus} will be shortened to @samp{g.emacs.gnus}.
+@item m
+@vindex gnus-new-mail-mark
+@cindex %
+@samp{%} (@code{gnus-new-mail-mark}) if there has arrived new mail to
+the group lately.
+
+@item d
+A string that says when you last read the group (@pxref{Group
+Timestamp}).
+
@item u
User defined specifier. The next character in the format string should
be a letter. @sc{gnus} will call the function
groups---mail groups mostly. This command might very well be quite slow
on some backends.
+@item G c
+@kindex G c (Group)
+@cindex customizing
+@findex gnus-group-customize
+Customize the group parameters (@code{gnus-group-customize}).
+
@item G e
@kindex G e (Group)
@findex gnus-group-edit-group-method
@menu
* Scanning New Messages:: Asking Gnus to see whether new messages have arrived.
* Group Information:: Information and help on groups and Gnus.
+* Group Timestamp:: Making Gnus keep track of when you last read a group.
* File Commands:: Reading and writing the Gnus files.
@end menu
@end table
+@node Group Timestamp
+@subsection Group Timestamp
+@cindex timestamps
+@cindex group timestamps
+
+It can be convenient to let Gnus keep track of when you last read a
+group. To set the ball rolling, you should add
+@code{gnus-group-set-timestamp} to @code{gnus-select-group-hook}:
+
+@lisp
+(add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp)
+@end lisp
+
+After doing this, each time you enter a group, it'll be recorded.
+
+This information can be displayed in various ways---the easiest is to
+use the @samp{%d} spec in the group line format:
+
+@lisp
+(setq gnus-group-line-format
+ "%M\%S\%p\%P\%5y: %(%-40,40g%) %d\n")
+@end lisp
+
+This will result in lines looking like:
+
+@example
+* 0: mail.ding 19961002T012943
+ 0: custom 19961002T012713
+@end example
+
+As you can see, the date is displayed in compact ISO 8601 format. This
+may be a bit too much, so to just display the date, you could say
+something like:
+
+@lisp
+(setq gnus-group-line-format
+ "%M\%S\%p\%P\%5y: %(%-40,40g%) %6,6~(cut 2)d\n")
+@end lisp
+
+
@node File Commands
@subsection File Commands
@cindex file commands
millions, of functions you can put in this hook. For an overview of
functions @pxref{Article Highlighting}, @pxref{Article Hiding},
@pxref{Article Washing}, @pxref{Article Buttons} and @pxref{Article
-Date}.
+Date}. Note that the order of functions in this hook might affect
+things, so you may have to fiddle a bit to get the desired results.
You can, of course, write your own functions. The functions are called
from the article buffer, and you can do anything you like, pretty much.
@code{t} and be prompted for the password, or set
@code{nnmail-pop-password} to the password itself.
+Your Emacs has to have been configured with @samp{--with-pop} before
+compilation. This is the default, but some installations have it
+switched off.
+
When you use a mail backend, Gnus will slurp all your mail from your
inbox and plonk it down in your home directory. Gnus doesn't move any
mail if you're not using a mail backend---you have to do a lot of magic
articles that are marked as expirable have an @samp{E} in the first
column in the summary buffer.
+Note that making a group auto-expirable don't mean that all read
+articles are expired---only the articles that are marked as expirable
+will be expired. Also note the using the @kbd{d} command won't make
+groups expirable---only semi-automatic marking of articles as read will
+mark the articles as expirable in auto-expirable groups.
+
Let's say you subscribe to a couple of mailing lists, and you want the
articles you have read to disappear after a while:
Another way to have auto-expiry happen is to have the element
@code{auto-expire} in the group parameters of the group.
+If you use adaptive scoring (@pxref{Adaptive Scoring}) and
+auto-expiring, you'll have problems. Auto-expiring and adaptive scoring
+doesn't really mix very well.
+
@vindex nnmail-expiry-wait
The @code{nnmail-expiry-wait} variable supplies the default time an
expirable article has to live. The default is seven days.
@emph{man}! Or a @emph{woman}! Whatever you feel more comfortable
with! So there!
+Most people make most of their mail groups total-expirable, though.
+
@node Washing Mail
@subsection Washing Mail
and mail from servers to home machines and back again. It can be a bit
fiddly.
+First some terminology:
+
+@table @dfn
+
+@item server
+This is the machine that is connected to the outside world and where you
+get news and/or mail from.
+
+@item home machine
+This is the machine that you want to do the actual reading and responding
+on. It is typically not connected to the rest of the world in any way.
+
+@item packet
+Something that contains messages and/or commands. There are two kinds
+of packets:
+
+@table @dfn
+@item message packets
+These are packets made at the server, and typically contains lots of
+messages for you to read. These are called @file{SoupoutX.tgz} by
+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.
+
+@end table
+
+@end table
+
+
@enumerate
@item
You log in on the server and create a @sc{soup} packet. You can either
-use a dedicated @sc{soup} thingie, or you can use Gnus to create the
-packet with the @kbd{O s} command.
+use a dedicated @sc{soup} thingie (like the @code{awk} program), or you
+can use Gnus to create the packet with its @sc{soup} commands (@kbd{O
+s} and/or @kbd{G s b}; and then @kbd{G s p}) (@pxref{SOUP Commands}).
@item
You transfer the packet home. Rail, boat, car or modem will do fine.
You put the packet in your home directory.
@item
-You fire up Gnus using the @code{nnsoup} backend as the native server.
+You fire up Gnus on your home machine using the @code{nnsoup} backend as
+the native or secondary server.
@item
You read articles and mail and answer and followup to the things you
-want.
+want (@pxref{SOUP Replies}).
@item
You do the @kbd{G s r} command to pack these replies into a @sc{soup}
@node SOUP Commands
@subsubsection SOUP Commands
+These are commands for creating and manipulating @sc{soup} packets.
+
@table @kbd
@item G s b
@kindex G s b (Group)
@item G s w
@kindex G s w (Group)
@findex gnus-soup-save-areas
-Save all data files (@code{gnus-soup-save-areas}).
+Save all @sc{soup} data files (@code{gnus-soup-save-areas}).
@item G s s
@kindex G s s (Group)
@findex gnus-soup-add-article
This summary-mode command adds the current article to a @sc{soup} packet
(@code{gnus-soup-add-article}). It understands the process/prefix
-convention.
+convention (@pxref{Process/Prefix}).
@end table
header uses.
@item Followup
-This match key will add a score entry on all articles that followup to
-some author. Uses the same match types as the @code{From} header uses.
+This match key is somewhat special, in that it will match the
+@code{From} header, and affect the score of not only the matching
+articles, but also all followups to the matching articles. This allows
+you e.g. increase the score of followups to your own articles, or
+decrease the score of followups to the articles of some known
+trouble-maker. Uses the same match types as the @code{From} header
+uses.
@item Thread
-This match key will add a score entry on all articles that are part of
-a thread. Uses the same match types as the @code{References} header
-uses.
+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 that is
+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.
@end table
@end enumerate
this one was.
@item exclude-files
-The clue of this entry should be any number of files. This files will
+The clue of this entry should be any number of files. These files will
not be loaded, even though they would normally be so, for some reason or
other.
That means that that subject will get a score of ten times -1, which
should be, unless I'm much mistaken, -10.
+If you have auto-expirable (mail) groups (@pxref{Expiring Mail}), all
+the read articles will be marked with the @samp{E} mark. This'll
+probably make adaptive scoring slightly impossible, so auto-expiring and
+adaptive scoring doesn't really mix very well.
+
The headers you can score on are @code{from}, @code{subject},
@code{message-id}, @code{references}, @code{xref}, @code{lines},
@code{chars} and @code{date}. In addition, you can score on
@item jem@@xpat.com;
@cindex Jem
-Jem---Korean despammer who is getting very busy these days.
+John Milburn---despammer located in Korea who is getting very busy these
+days.
@item red@@redpoll.mrfs.oh.us (Richard E. Depew)
Richard E. Depew---lone American despammer. He mostly cancels binary
Magnus Hammerin,
Raja R. Harinath,
Marc Horowitz,
-Ishikawa Ichiro,
+Ishikawa Ichiro, @c Ishikawa
Francois Felix Ingrand,
Lee Iverson,
Fred Johansen,
Timo Metzemakers,
Richard Mlynarik,
Lantz Moore,
-MORIOKA Tomohiko,
+Morioka Tomohiko, @c Morioka
Hrvoje Niksic,
Andy Norman,
Ken Olstad,
-Masaharu Onishi,
-Hideki Ono,
+Masaharu Onishi, @c Onishi
+Hideki Ono, @c Ono
Ulrich Pfeifer,
Colin Rafferty,
Bart Robinson,
Christoph Wedler,
Joe Wells,
and
-Katsumi Yamaoka.
+Katsumi Yamaoka. @c Yamaoka
Apologies to everybody that I've forgotten, of which there are many, I'm
sure.
@lisp
(add-hook 'gnus-article-display-hook
- 'gnus-article-hide-boring-headers)
+ 'gnus-article-hide-boring-headers t)
@end lisp
@item
And much, much, much more. There is more to come than has already been
implemented. (But that's always true, isn't it?)
-@file{<URL:http://www.ifi.uio.no/~larsi/sgnus/todo>} is where the actual
+@file{<URL:http://www.ifi.uio.no/~larsi/rgnus/todo>} is where the actual
up-to-the-second todo list is located, so if you're really curious, you
could point your Web browser over that-a-way.