\makeindex
\begin{document}
-\newcommand{\gnusversionname}{Oort Gnus v0.07}
+\newcommand{\gnusversionname}{Oort Gnus v0.10}
\newcommand{\gnuschaptername}{}
\newcommand{\gnussectionname}{}
* Index:: Variable, function and concept index.
* Key Index:: Key Index.
+Other related manuals
+
+* Message:(message). Composing messages.
+* Emacs-MIME:(emacs-mime). Composing messages; MIME-specific parts.
+* Sieve:(sieve). Managing Sieve scripts in Emacs.
+* PGG:(pgg). PGP/MIME with Gnus.
+
@detailmenu
--- The Detailed Node Listing ---
a @code{printf} specifications, for those of you who use (feh!) C.
@xref{Formatting Variables}.
-@samp{%M%S%5y: %(%g%)\n} is the value that produced those lines above.
+@samp{%M%S%5y:%B%(%g%)\n} is the value that produced those lines above.
There should always be a colon on the line; the cursor always moves to
the colon after performing an operation. @xref{Positioning
@item s
Select method.
+@item B
+If the summary buffer for the group is open or not.
+
@item n
Select from where.
precedence over any default @code{Gcc} rules as described later
(@pxref{Archived Messages}). CAVEAT:: It yields an error putting
@code{(gcc-self . t)} in groups of a @code{nntp} server or so, because
-a @code{nntp} server doesn't accept artciles.
+a @code{nntp} server doesn't accept articles.
@item auto-expire
@cindex auto-expire
Sort the group buffer alphabetically by back end name
(@code{gnus-group-sort-groups-by-method}).
+@item G S n
+@kindex G S n (Group)
+@findex gnus-group-sort-groups-by-real-name
+Sort the group buffer alphabetically by real (unprefixed) group name
+(@code{gnus-group-sort-groups-by-real-name}).
+
@end table
All the commands below obey the process/prefix convention
Sort the groups alphabetically by back end name
(@code{gnus-group-sort-selected-groups-by-method}).
+@item G P n
+@kindex G P n (Group)
+@findex gnus-group-sort-selected-groups-by-real-name
+Sort the groups alphabetically by real (unprefixed) group name
+(@code{gnus-group-sort-selected-groups-by-real-name}).
+
@item G P s
@kindex G P s (Group)
@findex gnus-group-sort-selected-groups
@item dummy
@vindex gnus-summary-dummy-line-format
+@vindex gnus-summary-make-false-root-always
Gnus will create a dummy summary line that will pretend to be the
parent. This dummy line does not correspond to any real article, so
selecting it will just select the first real article after the dummy
article. @code{gnus-summary-dummy-line-format} is used to specify the
format of the dummy roots. It accepts only one format spec: @samp{S},
which is the subject of the article. @xref{Formatting Variables}.
+If you want all threads to have a dummy root, even the non-gathered
+ones, set @code{gnus-summary-make-false-root-always} to t.
@item empty
Gnus won't actually make any article the parent, but simply leave the
generated.
This can also be a predicate specifier (@pxref{Predicate Specifiers}).
-Avaliable predicates are @code{gnus-article-unread-p} and
+Available predicates are @code{gnus-article-unread-p} and
@code{gnus-article-unseen-p}).
Here's an example:
@findex gnus-summary-pipe-output
Save the current article in a pipe. Uhm, like, what I mean is---Pipe
the current article to a process (@code{gnus-summary-pipe-output}).
+If given a symbolic prefix (@pxref{Symbolic Prefixes}), include the
+complete headers in the piped output.
@item O P
@kindex O P (Summary)
@table @var
@item regexp
-All text that match this regular expression will be considered an
-external reference. Here's a typical regexp that matches embedded URLs:
-@samp{<URL:\\([^\n\r>]*\\)>}. This can also be a variable containing a
-regexp, useful variables to use include @code{gnus-button-url-regexp}.
+All text that match this regular expression (case insensitive) will be
+considered an external reference. Here's a typical regexp that matches
+embedded URLs: @samp{<URL:\\([^\n\r>]*\\)>}. This can also be a
+variable containing a regexp, useful variables to use include
+@code{gnus-button-url-regexp}.
@item button-par
Gnus has to know which parts of the matches is to be highlighted. This
@cindex x-face
@cindex smileys
-These commands add various frivolous display gimmics to the article
+These commands add various frivolous display gimmicks to the article
buffer in Emacs versions that support them.
@code{X-Face} headers are small black-and-white images supplied by the
@vindex gnus-unbuttonized-mime-types
This is a list of regexps. @sc{mime} types that match a regexp from
this list won't have @sc{mime} buttons inserted unless they aren't
-displayed or this variable is overriden by
+displayed or this variable is overridden by
@code{gnus-buttonized-mime-types}. The default value is
@code{(".*/.*")}.
@lisp
(setq gnus-refer-article-method
'(current
- (nnweb "refer" (nnweb-type google))))
+ (nnweb "google" (nnweb-type google))))
@end lisp
Most of the mail back ends support fetching by @code{Message-ID}, but
Pull all cached articles (for the current group) into the summary buffer
(@code{gnus-summary-insert-cached-articles}).
+@item Y d
+@kindex Y d (Summary)
+@findex gnus-summary-insert-dormant-articles
+Pull all dormant articles (for the current group) into the summary buffer
+(@code{gnus-summary-insert-dormant-articles}).
+
@end table
@item gnus-treat-strip-pgp (t, last, integer)
@item gnus-treat-strip-trailing-blank-lines (t, last, integer)
@item gnus-treat-unsplit-urls (t, integer)
+@item gnus-treat-wash-html (t, integer)
@item gnus-treat-decode-article-as-default-mime-charset (t, integer)
@xref{Article Washing}.
It is useful if your ISP requires the POP-before-SMTP authentication.
See the documentation for the function @code{mail-source-touch-pop}.
-Other possible choises for @code{message-send-mail-function} includes
+Other possible choices for @code{message-send-mail-function} includes
@code{message-send-mail-with-mh}, @code{message-send-mail-with-qmail},
and @code{feedmail-send-it}.
Gnus provides a plethora of functions for washing articles while
displaying them, but it might be nicer to do the filtering before
-storing the mail to disc. For that purpose, we have three hooks and
+storing the mail to disk. For that purpose, we have three hooks and
various functions that can be put in these hooks.
@table @code
course, and is still maintained by Stallman.
Both of the above forms leave your mail in a single file on your
-filesystem, and they must parse that entire file each time you take a
+file system, and they must parse that entire file each time you take a
look at your mail.
@item nnml
provided by the active file and overviews.
@code{nnml} costs @dfn{inodes} in a big way; that is, it soaks up the
-resource which defines available places in the filesystem to put new
+resource which defines available places in the file system to put new
files. Sysadmins take a dim view of heavy inode occupation within
-tight, shared filesystems. But if you live on a personal machine where
-the filesystem is your own and space is not at a premium, @code{nnml}
+tight, shared file systems. But if you live on a personal machine where
+the file system is your own and space is not at a premium, @code{nnml}
wins big.
It is also problematic using this back end if you are living in a
@code{df -i} to see how plentiful your inode supply is.) If this slows
you down or takes up very much space, consider switching to ReiserFS
(@uref{http://www.namesys.com/}) or another non-block-structured
-filesystem.
+file system.
Since maildirs don't require locking for delivery, the maildirs you use
as groups can also be the maildirs your mail is directly delivered to.
(It keeps in memory some of the things that @code{nnml} stores in files
and that @code{nnmh} repeatedly parses out of message files.) If this
is a problem for you, you can set the @code{nov-cache-size} group
-parameter to somthing small (0 would probably not work, but 1 probably
+parameter to something small (0 would probably not work, but 1 probably
would) to make it use less memory.
Startup and shutdown are likely to be slower with @code{nnmaildir} than
with other back ends. Everything in between is likely to be faster,
-depending in part on your filesystem.
+depending in part on your file system.
@code{nnmaildir} does not use @code{nnoo}, so you cannot use @code{nnoo}
to write an @code{nnmaildir}-derived back end.
similar. You restore the data by restoring the directory tree, and
adding a server definition pointing to that directory in Gnus. The
@ref{Article Backlog}, @ref{Asynchronous Fetching} and other things
-might interfer with overwriting data, so you may want to shut down Gnus
+might interfere with overwriting data, so you may want to shut down Gnus
before you restore the data.
It is also possible to archive individual @code{nnml},
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.
+but much, much slower than unthreaded.
@item nnslashdot-login-name
@vindex nnslashdot-login-name
@vindex imap-ssl-program
For SSL connections, the OpenSSL program is available from
@uref{http://www.openssl.org/}. OpenSSL was formerly known as SSLeay,
-and nnimap support it too - altough the most recent versions of
+and nnimap support it too - although the most recent versions of
SSLeay, 0.9.x, are known to have serious bugs making it
useless. Earlier versions, especially 0.8.x, of SSLeay are known to
work. The variable @code{imap-ssl-program} contain parameters to pass
@item
@dfn{login:} Plain-text username/password via LOGIN.
@item
-@dfn{anonymous:} Login as `anonymous', supplying your emailadress as password.
+@dfn{anonymous:} Login as `anonymous', supplying your email address as password.
@end itemize
@item nnimap-expunge-on-close
Some may feel that short words shouldn't count when doing adaptive
scoring. If so, you may set @code{gnus-adaptive-word-length-limit} to
an integer. Words shorter than this number will be ignored. This
-variable defaults til @code{nil}.
+variable defaults to @code{nil}.
@vindex gnus-adaptive-word-syntax-table
When the scoring is done, @code{gnus-adaptive-word-syntax-table} is the
The problem is that when formatting, Gnus assumes that if a string is 10
characters wide, it'll be 10 Latin characters wide on the screen. In
-these coutries, that's not true.
+these countries, that's not true.
@vindex gnus-use-correct-string-widths
To help fix this, you can set @code{gnus-use-correct-string-widths} to
@code{t}. This makes buffer generation slower, but the results will be
-prettieer. The default value under XEmacs is @code{t} but @code{nil}
+prettier. The default value under XEmacs is @code{t} but @code{nil}
for Emacs.
@code{gnus-convert-image-to-x-face-command} shell command.
Here's how you would typically use the former function. Put something
-like the folllowing in your @file{.gnus.el} file:
+like the following in your @file{.gnus.el} file:
@lisp
(setq message-required-news-headers
A novel technique to fight spam is to require senders to do something
costly for each message they send. This has the obvious drawback that
you cannot rely on that everyone in the world uses this technique,
-since it is not part of the internet standards, but it may be useful
+since it is not part of the Internet standards, but it may be useful
in smaller communities.
While the tools in the previous section work well in practice, they
@kindex S x
@kindex M s x
@findex gnus-summary-mark-as-spam
-(@code{gnus-summary-mark-as-spam})
+@code{gnus-summary-mark-as-spam}.
Mark current article as spam, showing it with the @samp{H} mark.
Whenever you see a spam article, make sure to mark its summary line
@kindex M s t
@kindex S t
@findex spam-bogofilter-score
-(@code{spam-bogofilter-score}
+@code{spam-bogofilter-score}.
You must have bogofilter processing enabled for that command to work
properly.
@defvar spam-use-blackholes
-You can let Gnus consult the blackhole-type distributed spam
-processing systems (DCC, for instance) when you set this option. The
-variable @code{spam-blackhole-servers} holds the list of blackhole servers
-Gnus will consult.
+This option is disabled by default. You can let Gnus consult the
+blackhole-type distributed spam processing systems (DCC, for instance)
+when you set this option. The variable @code{spam-blackhole-servers}
+holds the list of blackhole servers Gnus will consult. The current
+list is fairly comprehensive, but make sure to let us know if it
+contains outdated servers.
-This variable is disabled by default. It is not recommended at this
-time because of bugs in the @code{dns.el} code.
+The blackhole check uses the @code{dig.el} package, but you can tell
+@code{spam.el} to use @code{dns.el} instead for better performance if
+you set @code{spam-use-dig} to nil. It is not recommended at this
+time to set @code{spam-use-dig} to nil despite the possible
+performance improvements, because some users may be unable to use it,
+but you can try it and see if it works for you.
@end defvar
decoding (verification and decryption).
@item PGP/MIME - RFC 2015/3156
-RFC 2015 (superceded by 3156 which references RFC 2440 instead of RFC
+RFC 2015 (superseded by 3156 which references RFC 2440 instead of RFC
1991) describes the @sc{mime}-wrapping around the RF 1991/2440 format.
Gnus supports both encoding and decoding.
@kbd{C-h v}, abort execution with @kbd{q}, and resume execution with
@kbd{c} or @kbd{g}.
+@cindex elp
+@cindex profile
+@cindex slow
+Sometimes, a problem do not directly generate a elisp error but
+manifests itself by causing Gnus to be very slow. In these cases, you
+can use @kbd{M-x toggle-debug-on-quit} and press C-j when things are
+slow, and then try to analyze the backtrace (repeating the procedure
+helps isolating the real problem areas). A fancier approach is to use
+the elisp profiler, ELP. The profiler is (or should be) fully
+documented elsewhere, but to get you started there are a few steps
+that need to be followed. First, instrument the part of Gnus you are
+interested in for profiling, e.g. @kbd{M-x elp-instrument-package RET
+gnus} or @kbd{M-x elp-instrument-packagre RET message}. Then perform
+the operation that is slow and press @kbd{M-x elp-results}. You will
+then see which operations that takes time, and can debug them further.
+If the entire operation takes much longer than the time spent in the
+slowest function in the profiler output, you probably profiled the
+wrong part of Gnus. To reset profiling statistics, use @kbd{M-x
+elp-reset-all}. @kbd{M-x elp-restore-all} is supposed to remove
+profiling, but given the complexities and dynamic code generation in
+Gnus, it might not always work perfectly.
+
If you just need help, you are better off asking on
@samp{gnu.emacs.gnus}. I'm not very helpful.