\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Gnus 5.4.41 Manual
+@settitle Gnus 5.4.52 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Gnus 5.4.41 Manual
+@title Gnus 5.4.52 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.41.
+This manual corresponds to Gnus 5.4.52.
@end ifinfo
Describe all groups (@code{gnus-group-describe-all-groups}). If given a
prefix, force Gnus to re-read the description file from the server.
-@item V
+@item H v
+@itemx V
@kindex V (Group)
+@kindex H v (Group)
@cindex version
@findex gnus-version
Display current Gnus version numbers (@code{gnus-version}).
@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
that look something like @samp{<38o6up$6f2@@hymir.ifi.uio.no>}. You
have to get it all exactly right. No fuzzy searches, I'm afraid.
+The current select method will be used when fetching by
+@code{Message-ID} from non-news select method, but you can override this
+by giving this command a prefix.
+
@vindex gnus-refer-article-method
If the group you are reading is located on a backend that does not
support fetching by @code{Message-ID} very well (like @code{nnspool}),
@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
If this variable is non-@code{nil}, Gnus will try to keep the tree
buffer as small as possible to allow more room for the other Gnus
windows. If this variable is a number, the tree buffer will never be
-higher than that number. The default is @code{t}.
+higher than that number. The default is @code{t}. Note that if you
+have several windows displayed side-by-side in a frame and the tree
+buffer is one of these, minimizing the tree window will also resize all
+other windows that are displayed next to it.
@item gnus-generate-tree-function
@vindex gnus-generate-tree-function
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
(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
function. If this is too slow and you don't care for verification
(which may be dangerous), you can set this variable to @code{nil}.
+If you want signed NoCeM messages to be verified and unsigned messages
+not to be verified (but used anyway), you could do something like:
+
+@lisp
+(setq gnus-nocem-verifyer 'my-gnus-mc-verify)
+
+(defun my-gnus-mc-verify ()
+ (not (eq 'forged
+ (ignore-errors
+ (if (mc-verify)
+ t
+ 'forged)))))
+@end lisp
+
+This might be dangerous, though.
+
@item gnus-nocem-directory
@vindex gnus-nocem-directory
This is where Gnus will store its NoCeM cache files. The default is
@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
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,
Teddy,
Chuck Thompson,
Philippe Troin,
+Aaron M. Ucko,
Jan Vroonhof,
Barry A. Warsaw,
Christoph Wedler,
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>
does this @code{defalias} thing with Gnus equivalents instead. Cleaner
all over.
+In the cases when the XEmacs function interface was obviously
+cleaner, I used it instead. For example @code{gnus-region-active-p}
+is an alias for @code{region-active-p} in XEmacs, whereas in Emacs
+it is a function.
+
Of course, I could have chosen XEmacs as my native platform and done
mapping functions the other way around. But I didn't. The performance
hit these indirections impose on Gnus under XEmacs should be slight.