\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Gnus 5.4.44 Manual
+@settitle Gnus 5.4.55 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Gnus 5.4.44 Manual
+@title Gnus 5.4.55 Manual
@author by Lars Magne Ingebrigtsen
@page
spool or your mbox file. All at the same time, if you want to push your
luck.
-This manual corresponds to Gnus 5.4.44.
+This manual corresponds to Gnus 5.4.55.
@end ifinfo
If the group parameter has an element that looks like
@code{(total-expire . t)}, all read articles will be put through the
expiry process, even if they are not marked as expirable. Use with
-caution.
+caution. Unread, ticked and dormant articles are not eligible for
+expiry.
@item expiry-wait
@cindex expiry-wait
@item F
@kindex F (Group)
-@findex gnus-find-new-newsgroups
-Find new groups and process them (@code{gnus-find-new-newsgroups}). If
-given a prefix, use the @code{ask-server} method to query the server for
-new groups.
+@findex gnus-group-find-new-groups
+Find new groups and process them (@code{gnus-group-find-new-groups}).
+If given a prefix, use the @code{ask-server} method to query the server
+for new groups.
@item C-c C-x
@kindex C-c C-x (Group)
Copy all groups that match some regular expression to a topic
(@code{gnus-topic-copy-matching}).
+@item T h
+@kindex T h (Topic)
+@findex gnus-topic-toggle-display-empty-topics
+Toggle hiding empty topics
+(@code{gnus-topic-toggle-display-empty-topics}).
+
@item T #
@kindex T # (Topic)
@findex gnus-topic-mark-topic
@item S O p
@kindex S O p (Summary)
@findex gnus-uu-digest-post-forward
+@cindex digests
+@cindex making digests
Digest the current series and forward the result to a newsgroup
-(@code{gnus-uu-digest-mail-forward}).
+(@code{gnus-uu-digest-mail-forward}). This command uses the
+process/prefix convention.
@item S u
@kindex S u (Summary)
@code{Archive-name} line and use that as a suggestion for the file
name.
+Here's an example function to clean up file names somewhat. If you have
+lots of mail groups that are called things like
+@samp{nnml:mail.whatever}, you may want to chop off the beginning of
+these group names before creating the file name to save to. The
+following will do just that:
+
+@lisp
+(defun my-save-name (group)
+ (when (string-match "^nnml:mail." group)
+ (substring group (match-end 0))))
+
+(setq gnus-split-methods
+ '((gnus-article-archive-name)
+ (my-save-name)))
+@end lisp
+
+
@vindex gnus-use-long-file-name
Finally, you have the @code{gnus-use-long-file-name} variable. If it is
@code{nil}, all the preceding functions will replace all periods
@item W W p
@kindex W W p (Summary)
@findex gnus-article-hide-pgp
-Hide @sc{pgp} signatures (@code{gnus-article-hide-pgp}).
+@vindex gnus-article-hide-pgp-hook
+Hide @sc{pgp} signatures (@code{gnus-article-hide-pgp}). The
+@code{gnus-article-hide-pgp-hook} hook will be run after a @sc{pgp}
+signature has been hidden.
@item W W P
@kindex W W P (Summary)
@subsection Pick and Read
@cindex pick and read
-Some newsreaders (like @code{nn} and, uhm, @code{nn}) use a two-phased
-reading interface. The user first marks the articles she wants to read
-from a summary buffer. Then she starts reading the articles with just
-an article buffer displayed.
+Some newsreaders (like @code{nn} and, uhm, @code{Netnews} on VM/CMS) use
+a two-phased reading interface. The user first marks the articles she
+wants to read from a summary buffer. Then she starts reading the
+articles with just an article buffer displayed.
@findex gnus-pick-mode
@kindex M-x gnus-pick-mode
server.
@findex nntp-open-rlogin
+@findex nntp-open-telnet
@findex nntp-open-network-stream
@item nntp-open-connection-function
@vindex nntp-open-connection-function
-This function is used to connect to the remote system. Two pre-made
+This function is used to connect to the remote system. Three pre-made
functions are @code{nntp-open-network-stream}, which is the default, and
simply connects to some port or other on the remote system. The other
-is @code{nntp-open-rlogin}, which does an rlogin on the remote system,
-and then does a telnet to the @sc{nntp} server available there.
+two are @code{nntp-open-rlogin}, which does an @samp{rlogin} on the
+remote system, and then does a @samp{telnet} to the @sc{nntp} server
+available there, and @code{nntp-open-telnet}, which does a @samp{telnet}
+to the remote system and then another @samp{telnet} to get to the
+@sc{nntp} server.
+
+@code{nntp-open-rlogin}-related variables:
+
+@table @code
@item nntp-rlogin-parameters
@vindex nntp-rlogin-parameters
-If you use @code{nntp-open-rlogin} as the
-@code{nntp-open-connection-function}, this list will be used as the
-parameter list given to @code{rsh}.
+This list will be used as the parameter list given to @code{rsh}.
+
+@item nntp-rlogin-user-name
+@vindex nntp-rlogin-user-name
+User name on the remote system.
+
+@end table
+
+@code{nntp-open-telnet}-related variables:
+
+@table @code
+@item nntp-telnet-command
+@vindex nntp-telnet-command
+Command used to start @samp{telnet}.
+
+@item nntp-telnet-switches
+@vindex nntp-telnet-switches
+List of strings to be used as the switches to the telnet command.
+
+@item nntp-telnet-user-name
+@vindex nntp-telnet-user-name
+User name to log in on the remote system as.
+
+@item nntp-telnet-passwd
+@vindex nntp-telnet-passwd
+Password to use when logging in.
+
+@item nntp-telnet-parameters
+@vindex nntp-telnet-parameters
+A list of strings that will be executed as a command after logging in
+via telnet.
+
+@end table
@item nntp-end-of-line
@vindex nntp-end-of-line
articles that are marked as expirable have an @samp{E} in the first
column in the summary buffer.
+By default, if you have auto expiry switched on, Gnus will mark all the
+articles you read as expirable, no matter if they were read or unread
+before. To avoid having articles marked as read marked as expirable
+automatically, you can put something like the following in your
+@file{.gnus} file:
+
+@vindex gnus-mark-article-hook
+@lisp
+(remove-hook 'gnus-mark-article-hook
+ 'gnus-summary-mark-read-and-unread-as-read)
+(add-hook 'gnus-mark-article-hook 'gnus-summary-mark-unread-as-read)
+@end lisp
+
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
@item body-end
If present, this should match the end of the body of the article.
-@item nndoc-file-end
+@item file-end
If present, this should match the end of the file. All text after this
regexp will be totally ignored.
(eval (ding)))
@end lisp
-This example demonstrates absolutely everything about a score file.
+This example demonstrates most score file elements. For a different
+approach, see @pxref{Advanced Scoring}.
Even though this looks much like lisp code, nothing here is actually
@code{eval}ed. The lisp reader is used to read this form, though, so it
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.
+uses. (Using this match key will lead to creation of @file{ADAPT}
+files.)
@item Thread
This match key works along the same lines as the @code{Followup} match
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.
+undeterministic scores of the articles in the thread. (Using this match
+key will lead to creation of @file{ADAPT} files.)
@end table
@end enumerate
@findex gnus-demon-add-handler
@lisp
-(gnus-demon-add-handler 'gnus-demon-close-connections nil 30)
+(gnus-demon-add-handler 'gnus-demon-close-connections 30 t)
@end lisp
@findex gnus-demon-add-nocem
@findex gnus-demon-add-scanmail
@findex gnus-demon-add-rescan
+@findex gnus-demon-add-scan-timestamps
@findex gnus-demon-add-disconnection
Some ready-made functions to do this has been created:
@code{gnus-demon-add-nocem}, @code{gnus-demon-add-disconnection},
-@code{gnus-demon-add-rescan}, and @code{gnus-demon-add-scanmail}. Just
-put those functions in your @file{.gnus} if you want those abilities.
+@code{gnus-demon-add-scan-timestamps}, @code{gnus-demon-add-rescan}, and
+@code{gnus-demon-add-scanmail}. Just put those functions in your
+@file{.gnus} if you want those abilities.
@findex gnus-demon-init
@findex gnus-demon-cancel
@end table
+Using NoCeM could potentially be a memory hog. If you have many living
+(i. e., subscribed or unsubscribed groups), your Emacs process will grow
+big. If this is a problem, you should kill off all (or most) of your
+unsubscribed groups (@pxref{Subscription Commands}).
+
@node Picons
@section Picons
First, pick one (1) legal mail address that you can be reached at, and
put it in your @code{From} header of all your news articles. (I've
-chosen @samp{larsi@@trym.ifi.uio.no}.)
+chosen @samp{larsi@@trym.ifi.uio.no}, but for many addresses on the form
+@samp{larsi+usenet@@ifi.uio.no} will be a better choice. Ask your
+sysadm whether your sendmail installation accepts keywords in the local
+part of the mail address.)
@lisp
(setq message-default-news-headers
citizen, you can even send off complaints to the proper authorities on
each unsolicited commercial email---at your leisure.
+If you are also a lazy net citizen, you will probably prefer complaining
+automatically with the @file{gnus-junk.el} package, availiable FOR FREE
+at @file{<URL:http://stud2.tuwien.ac.at/~e9426626/gnus-junk.html>}.
+Since most e-mail spam is sent automatically, this may reconcile the
+cosmic balance somewhat.
+
This works for me. It allows people an easy way to contact me (they can
just press @kbd{r} in the usual way), and I'm not bothered at all with
spam. It's a win-win situation. Forging @code{From} headers to point
Wes Hardaker---@file{gnus-picon.el} and the manual section on
@dfn{picons} (@pxref{Picons}).
+@item
+Kim-Minh Kaplan---further work on the picon code.
+
@item
Brad Miller---@file{gnus-gl.el} and the GroupLens manual section
(@pxref{GroupLens}).
Joao Cachopo,
Zlatko Calusic,
Massimo Campostrini,
+Dan Christensen,
Michael R. Cook,
Glenn Coombs,
Frank D. Cringle,
Luc Van Eycken,
Sam Falkner,
Paul Franklin,
+Arne Georg Gleditsch,
David S. Goldberg,
D. Hall,
Magnus Hammerin,
Hisashige Kenji, @c Hisashige
Marc Horowitz,
Gunnar Horrigmo,
+Brad Howes,
François Felix Ingrand,
Ishikawa Ichiro, @c Ishikawa
Lee Iverson,
Rajappa Iyer,
Randell Jesup,
Fred Johansen,
-Kim-Minh Kaplan,
Greg Klanderman,
Karl Kleinpaste,
Peter Skov Knudsen,
Teddy,
Chuck Thompson,
Philippe Troin,
+Aaron M. Ucko,
Jan Vroonhof,
Barry A. Warsaw,
Christoph Wedler,
@item foreign
@cindex foreign
You can also have any number of foreign groups active at the same time.
-These are groups that use different backends for getting news.
+These are groups that use non-native non-secondary backends for getting
+news.
@item secondary
@cindex secondary
files = "files" *[ space <string> ]
exclude-files = "exclude-files" *[ space <string> ]
read-only = "read-only" [ space "nil" / space "t" ]
-adapt = "adapt" [ space "nil" / space "t" / space adapt-rule ]
+adapt = "adapt" [ space "ignore" / space "t" / space adapt-rule ]
adapt-rule = "(" *[ <string> *[ "(" <string> <integer> ")" ] ")"
local = "local" *[ space "(" <string> space <form> ")" ]
eval = "eval" space <form>