\usepackage{pixidx}
\input{gnusconfig.tex}
+\ifx\pdfoutput\undefined
+\else
+\usepackage[pdftex,bookmarks]{hyperref}
+\pdfcompresslevel=9
+\fi
+
\makeindex
\begin{document}
\newcommand{\gnusbackslash}{/}
\newcommand{\gnusref}[1]{``#1'' on page \pageref{#1}}
+\ifx\pdfoutput\undefined
\newcommand{\gnusuref}[1]{\gnustt{#1}}
+\else
+\newcommand{\gnusuref}[1]{\href{#1}{\gnustt{#1}}}
+\fi
\newcommand{\gnusxref}[1]{See ``#1'' on page \pageref{#1}}
\newcommand{\gnuspxref}[1]{see ``#1'' on page \pageref{#1}}
* 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.
+* Sieve Commands:: Managing Sieve scripts.
Summary Buffer
@end lisp
If you can use a local spool, you probably should, as it will almost
-certainly be much faster.
+certainly be much faster. But do not use the local spool if your
+server is running Leafnode; in this case, use @code{(nntp "localhost")}.
@vindex gnus-nntpserver-file
@cindex NNTPSERVER
@samp{%M%S%5y: %(%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. Nothing else is required---not
-even the group name. All displayed text is just window dressing, and is
-never examined by gnus. Gnus stores all real information it needs using
-text properties.
+the colon after performing an operation. @xref{Positioning
+Point}. Nothing else is required---not even the group name. All
+displayed text is just window dressing, and is never examined by Gnus.
+Gnus stores all real information it needs using text properties.
(Note that if you make a really strange, wonderful, spreadsheet-like
layout, everybody will believe you are hard at work with the accounting
command, but this one does it without expunging and hiding dormants
(@code{gnus-group-visible-select-group}).
-@item M-C-RET
-@kindex M-C-RET (Group)
+@item C-M-RET
+@kindex C-M-RET (Group)
@findex gnus-group-select-group-ephemerally
Finally, this command selects the current group ephemerally without
doing any processing of its contents
Make a group based on some file or other
(@code{gnus-group-make-doc-group}). If you give a prefix to this
command, you will be prompted for a file name and a file type.
-Currently supported types are @code{babyl}, @code{mbox}, @code{digest},
-@code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs},
-@code{rfc934}, @code{rfc822-forward}, @code{nsmail} and @code{forward}.
-If you run this command without a prefix, Gnus will guess at the file
+Currently supported types are @code{mbox}, @code{babyl},
+@code{digest}, @code{news}, @code{rnews}, @code{mmdf}, @code{forward},
+@code{rfc934}, @code{rfc822-forward}, @code{mime-parts},
+@code{standard-digest}, @code{slack-digest}, @code{clari-briefs},
+@code{nsmail}, @code{outlook}, @code{oe-dbx}, and @code{mailman}. If
+you run this command without a prefix, Gnus will guess at the file
type. @xref{Document Groups}.
@item G u
@item all
Display all articles, both read and unread.
+@item an integer
+Display the last INTEGER articles in the group. This is the same as
+entering the group with C-u INTEGER.
+
@item default
Display the default visible articles, which normally includes unread and
ticked articles.
last signature or any of the elements of the alist
@code{gnus-article-banner-alist}.
+@item sieve
+@cindex sieve
+This parameter contains a Sieve test that should match incoming mail
+that should be placed in this group. From this group parameter, a
+Sieve @samp{IF} control structure is generated, having the test as the
+condition and @samp{fileinto "group.name";} as the body.
+
+For example, if the INBOX.list.sieve group has the @code{(sieve
+address "sender" "sieve-admin@@extundo.com")} group parameter, when
+translating the group parameter into a Sieve script (@pxref{Sieve
+Commands}) the following Sieve code is generated:
+
+@example
+ if address \"sender\" \"sieve-admin@@extundo.com\" @{
+ fileinto \"INBOX.list.sieve\";
+ @}
+@end example
+
+The Sieve language is described in RFC 3028. @xref{Top, , Top, sieve,
+Emacs Sieve}.
+
@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},
all expirable articles in the group that have been around for a while.
(@pxref{Expiring Mail}).
-@item C-c M-C-x
-@kindex C-c M-C-x (Group)
+@item C-c C-M-x
+@kindex C-c C-M-x (Group)
@findex gnus-group-expire-all-groups
Run all expirable articles in all groups through the expiry process
(@code{gnus-group-expire-all-groups}).
Sort the current topic alphabetically by back end name
(@code{gnus-topic-sort-groups-by-method}).
+@item T S e
+@kindex T S e (Topic)
+@findex gnus-topic-sort-groups-by-server
+Sort the current topic alphabetically by server name
+(@code{gnus-topic-sort-groups-by-server}).
+
@end table
@xref{Sorting Groups}, for more information about group sorting.
* 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.
+* Sieve Commands:: Managing Sieve scripts.
@end menu
@table @kbd
@findex gnus-group-post-news
Post an article to a group (@code{gnus-group-post-news}). If given a
prefix, the current group name will be used as the default.
+@xref{Composing Messages}.
@item m
@kindex m (Group)
@findex gnus-group-mail
-Mail a message somewhere (@code{gnus-group-mail}).
+Mail a message somewhere (@code{gnus-group-mail}). @xref{Composing Messages}.
@end table
@end lisp
@item gnus-group-name-charset-group-alist
+@cindex UTF-8 group names
@vindex gnus-group-name-charset-group-alist
-An alist of regexp of group name and the charset for group names.
-It is used to show non-ASCII group names.
+An alist of regexp of group name and the charset for group names. It
+is used to show non-ASCII group names. @code{((".*" utf-8))} is the
+default value if UTF-8 is supported, otherwise the default is nil.
For example:
@lisp
@end table
+@node Sieve Commands
+@subsection Sieve Commands
+@cindex group sieve commands
+
+Sieve is a server-side mail filtering language. In Gnus you can use
+the @code{sieve} group parameter (@pxref{Group Parameters}) to specify
+sieve rules that should apply to each group. Gnus provides two
+commands to translate all these group parameters into a proper Sieve
+script that can be transfered to the server somehow.
+
+@vindex gnus-sieve-file
+@vindex gnus-sieve-region-start
+@vindex gnus-sieve-region-end
+The generated Sieve script is placed in @code{gnus-sieve-file} (by
+default @file{~/.sieve}). The Sieve code that Gnus generate is placed
+between two delimiters, @code{gnus-sieve-region-start} and
+@code{gnus-sieve-region-end}, so you may write additional Sieve code
+outside these delimiters that will not be removed the next time you
+regenerate the Sieve script.
+
+@vindex gnus-sieve-crosspost
+The variable @code{gnus-sieve-crosspost} controls how the Sieve script
+is generated. If it is non-nil (the default) articles is placed in
+all groups that have matching rules, otherwise the article is only
+placed in the group with the first matching rule. For example, the
+group parameter @samp{(sieve address "sender"
+"owner-ding@@hpc.uh.edu")} will generate the following piece of Sieve
+code if @code{gnus-sieve-crosspost} is nil. (When
+@code{gnus-sieve-crosspost} is non-nil, it looks the same except that
+the line containing the call to @code{stop} is removed.)
+
+@example
+if address "sender" "owner-ding@@hpc.uh.edu" @{
+ fileinto "INBOX.ding";
+ stop;
+@}
+@end example
+
+@xref{Top, ,Top, sieve, Emacs Sieve}.
+
+@table @kbd
+
+@item D g
+@kindex D g (Group)
+@findex gnus-sieve-generate
+@vindex gnus-sieve-file
+@cindex generating sieve script
+Regenerate a Sieve script from the @code{sieve} group parameters and
+put you into the @code{gnus-sieve-file} without saving it.
+
+@item D u
+@kindex D u (Group)
+@findex gnus-sieve-update
+@vindex gnus-sieve-file
+@cindex updating sieve script
+Regenerates the Gnus managed part of @code{gnus-sieve-file} using the
+@code{sieve} group parameters, save the file and upload it to the
+server using the @code{sieveshell} program.
+
+@end table
+
+
@node Summary Buffer
@chapter Summary Buffer
@cindex summary buffer
performing an operation. (Of course, Gnus wouldn't be Gnus if it wasn't
possible to change this. Just write a new function
@code{gnus-goto-colon} which does whatever you like with the cursor.)
+@xref{Positioning Point}.
The default string is @samp{%U%R%z%I%(%[%4L: %-23,23n%]%) %s\n}.
-The following format specification characters are understood:
+The following format specification characters and extended format
+specification(s) are understood:
@table @samp
@item N
The line number.
@item O
Download mark.
+@item &user-date;
+Age sensitive date format. Various date format is defined in
+@code{gnus-user-date-format-alist}.
@item u
User defined specifier. The next character in the format string should
be a letter. Gnus will call the function
into the summary just like information from any other summary specifier.
@end table
+Text between @samp{%(} and @samp{%)} will be highlighted with
+@code{gnus-mouse-face} when the mouse point is placed inside the area.
+There can only be one such area.
+
The @samp{%U} (status), @samp{%R} (replied) and @samp{%z} (zcore) specs
have to be handled with care. For reasons of efficiency, gnus will
compute what column these characters will end up in, and ``hard-code''
@kindex / / (Summary)
@findex gnus-summary-limit-to-subject
Limit the summary buffer to articles that match some subject
-(@code{gnus-summary-limit-to-subject}).
+(@code{gnus-summary-limit-to-subject}). If given a prefix, exclude
+matching articles.
@item / a
@kindex / a (Summary)
@findex gnus-summary-limit-to-author
Limit the summary buffer to articles that match some author
-(@code{gnus-summary-limit-to-author}).
+(@code{gnus-summary-limit-to-author}). If given a prefix, exclude
+matching articles.
@item / x
@kindex / x (Summary)
@findex gnus-summary-limit-to-extra
Limit the summary buffer to articles that match one of the ``extra''
headers (@pxref{To From Newsgroups})
-(@code{gnus-summary-limit-to-extra}).
+(@code{gnus-summary-limit-to-extra}). If given a prefix, exclude
+matching articles.
@item / u
@itemx x
@table @kbd
@item T k
-@itemx M-C-k
+@itemx C-M-k
@kindex T k (Summary)
-@kindex M-C-k (Summary)
+@kindex C-M-k (Summary)
@findex gnus-summary-kill-thread
Mark all articles in the current (sub-)thread as read
(@code{gnus-summary-kill-thread}). If the prefix argument is positive,
articles instead.
@item T l
-@itemx M-C-l
+@itemx C-M-l
@kindex T l (Summary)
-@kindex M-C-l (Summary)
+@kindex C-M-l (Summary)
@findex gnus-summary-lower-thread
Lower the score of the current (sub-)thread
(@code{gnus-summary-lower-thread}).
@item T n
@kindex T n (Summary)
-@itemx M-C-n
-@kindex M-C-n (Summary)
+@itemx C-M-n
+@kindex C-M-n (Summary)
@itemx M-down
@kindex M-down (Summary)
@findex gnus-summary-next-thread
@item T p
@kindex T p (Summary)
-@itemx M-C-p
-@kindex M-C-p (Summary)
+@itemx C-M-p
+@kindex C-M-p (Summary)
@itemx M-up
@kindex M-up (Summary)
@findex gnus-summary-prev-thread
the @code{gnus-file-save-name} variable to get a file name to save the
article in. The default is @code{gnus-numeric-save-name}.
+@item gnus-summary-write-to-file
+@findex gnus-summary-write-to-file
+Write the article straight to an ordinary file. The file is
+overwritten if it exists. Uses the function in the
+@code{gnus-file-save-name} variable to get a file name to save the
+article in. The default is @code{gnus-numeric-save-name}.
+
@item gnus-summary-save-body-in-file
@findex gnus-summary-save-body-in-file
Append the article body to an ordinary file. Uses the function in the
face as the argument. If the @code{gnus-article-x-face-too-ugly} (which
is a regexp) matches the @code{From} header, the face will not be shown.
The default action under Emacs is to fork off the @code{display}
-program@footnote{@code{display} is from the ImageMagick package. For the
-@code{uncompface} and @code{icontopbm} programs look for a package
-like `compface' or `faces-xface' on a GNU/Linux system.}
-to view the face. Under XEmacs or Emacs 21+ with suitable image
-support, the default action is to display the face before the
-@code{From} header. (It's nicer if XEmacs has been compiled with X-Face
-support---that will make display somewhat faster. If there's no native
-X-Face support, Gnus will try to convert the @code{X-Face} header using
-external programs from the @code{pbmplus} package and
-friends.@footnote{On a GNU/Linux system look for packages with names
-like @code{netpbm} or @code{libgr-progs}.}) If you
-want to have this function in the display hook, it should probably come
-last.
+program@footnote{@code{display} is from the ImageMagick package. For
+the @code{uncompface} and @code{icontopbm} programs look for a package
+like `compface' or `faces-xface' on a GNU/Linux system.} to view the
+face. Under XEmacs or Emacs 21+ with suitable image support, the
+default action is to display the face before the @code{From} header.
+(It's nicer if XEmacs has been compiled with X-Face support---that will
+make display somewhat faster. If there's no native X-Face support, Gnus
+will try to convert the @code{X-Face} header using external programs
+from the @code{pbmplus} package and friends.@footnote{On a GNU/Linux
+system look for packages with names like @code{netpbm} or
+@code{libgr-progs}.}) If you want to have this function in the display
+hook, it should probably come last.
+(NOTE: @code{x-face} is used in the variable/function names, not @code{xface}).
@item W b
@kindex W b (Summary)
message.@footnote{PGP keys for many hierarchies are available at
@uref{ftp://ftp.isc.org/pub/pgpcontrol/README.html}}
+@item W s
+@kindex W s (Summary)
+@findex gnus-summary-force-verify-and-decrypt
+Verify a signed (PGP, PGP/MIME or S/MIME) message
+(@code{gnus-summary-force-verify-and-decrypt}).
+
@item W W H
@kindex W W H (Summary)
@findex gnus-article-strip-headers-from-body
expirable articles in the group that have been around for a while.
(@pxref{Expiring Mail}).
-@item B M-C-e
-@kindex B M-C-e (Summary)
+@item B C-M-e
+@kindex B C-M-e (Summary)
@findex gnus-summary-expire-articles-now
Delete all the expirable articles in the group
(@code{gnus-summary-expire-articles-now}). This means that @strong{all}
articles))
@end lisp
+@vindex gnus-newsgroup-variables
+@item gnus-newsgroup-variables
+A list of newsgroup (summary buffer) local variables, or cons of
+variables and their default values (when the default values are not
+nil), that should be made global while the summary buffer is active.
+These variables can be used to set variables in the group parameters
+while still allowing them to affect operations done in other
+buffers. For example:
+
+@lisp
+(setq gnus-newsgroup-variables
+ '(message-use-followup-to
+ (gnus-visible-headers .
+ "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^To:")))
+@end lisp
+
@end table
some format, you @kbd{C-d} and read these messages in a more convenient
fashion.
-@item M-C-d
-@kindex M-C-d (Summary)
+@item C-M-d
+@kindex C-M-d (Summary)
@findex gnus-summary-read-document
This command is very similar to the one above, but lets you gather
several documents into one biiig group
Expand the summary buffer window (@code{gnus-summary-expand-window}).
If given a prefix, force an @code{article} window configuration.
-@item M-C-e
-@kindex M-C-e (Summary)
+@item C-M-e
+@kindex C-M-e (Summary)
@findex gnus-summary-edit-parameters
Edit the group parameters (@pxref{Group Parameters}) of the current
group (@code{gnus-summary-edit-parameters}).
-@item M-C-a
-@kindex M-C-a (Summary)
+@item C-M-a
+@kindex C-M-a (Summary)
@findex gnus-summary-customize-parameters
Customize the group parameters (@pxref{Group Parameters}) of the current
group (@code{gnus-summary-customize-parameters}).
@section Security
Gnus is able to verify signed messages or decrypt encrypted messages.
-The formats that are supported are PGP and S/MIME, however you need
-some external programs to get things to work:
+The formats that are supported are PGP (plain text, RFC 1991 format),
+PGP/MIME (RFC 2015/3156) and S/MIME, however you need some external
+programs to get things to work:
@enumerate
@item
@node Using MIME
-@section Using @sc{mime}
+@section Using MIME
@cindex @sc{mime}
Mime is a standard for waving your hands through the air, aimlessly,
possible but those listed are probably sufficient for most people.
@table @code
-@item gnus-treat-highlight-signature (t, last)
@item gnus-treat-buttonize (t, integer)
@item gnus-treat-buttonize-head (head)
+@item gnus-treat-capitalize-sentences (t, integer)
+@item gnus-treat-date-english (head)
+@item gnus-treat-date-iso8601 (head)
+@item gnus-treat-date-lapsed (head)
+@item gnus-treat-date-local (head)
+@item gnus-treat-date-original (head)
+@item gnus-treat-date-user-defined (head)
+@item gnus-treat-date-ut (head)
+@item gnus-treat-display-picons (head)
+@item gnus-treat-display-smileys (t, integer)
+@item gnus-treat-display-xface (head)
@item gnus-treat-emphasize (t, head, integer)
@item gnus-treat-fill-article (t, integer)
-@item gnus-treat-strip-cr (t, integer)
-@item gnus-treat-hide-headers (head)
+@item gnus-treat-fill-long-lines (t, integer)
@item gnus-treat-hide-boring-headers (head)
-@item gnus-treat-hide-signature (t, last)
@item gnus-treat-hide-citation (t, integer)
@item gnus-treat-hide-citation-maybe (t, integer)
-@item gnus-treat-strip-pgp (t, last, integer)
-@item gnus-treat-x-pgp-sig (head)
-@item gnus-treat-strip-pem (t, last, integer)
-@item gnus-treat-highlight-headers (head)
+@item gnus-treat-hide-headers (head)
+@item gnus-treat-hide-signature (t, last)
@item gnus-treat-highlight-citation (t, integer)
+@item gnus-treat-highlight-headers (head)
@item gnus-treat-highlight-signature (t, last, integer)
-@item gnus-treat-date-ut (head)
-@item gnus-treat-date-local (head)
-@item gnus-treat-date-english (head)
-@item gnus-treat-date-lapsed (head)
-@item gnus-treat-date-original (head)
-@item gnus-treat-date-iso8601 (head)
-@item gnus-treat-date-user-defined (head)
+@item gnus-treat-overstrike (t, integer)
+@item gnus-treat-play-sounds
+@item gnus-treat-strip-cr (t, integer)
@item gnus-treat-strip-headers-in-body (t, integer)
-@item gnus-treat-strip-trailing-blank-lines (t, last, integer)
@item gnus-treat-strip-leading-blank-lines (t, integer)
@item gnus-treat-strip-multiple-blank-lines (t, integer)
-@item gnus-treat-overstrike (t, integer)
-@item gnus-treat-display-xface (head)
-@item gnus-treat-display-smileys (t, integer)
-@item gnus-treat-display-picons (head)
-@item gnus-treat-capitalize-sentences (t, integer)
-@item gnus-treat-fill-long-lines (t, integer)
-@item gnus-treat-play-sounds
+@item gnus-treat-strip-pem (t, last, integer)
+@item gnus-treat-strip-pgp (t, last, integer)
+@item gnus-treat-strip-trailing-blank-lines (t, last, integer)
@item gnus-treat-translate
+@item gnus-treat-x-pgp-sig (head)
@item gnus-treat-decode-article-as-default-mime-charset
@end table
extensions:
@table @samp
+
@item w
The @dfn{wash status} of the article. This is a short string with one
character for each possible article wash operation that may have been
-performed.
+performed. The characters and their meaning:
+
+@table @samp
+
+@item c
+Displayed when cited text may be hidden in the article buffer.
+
+@item h
+Displayed when headers are hidden in the article buffer.
+
+@item p
+Displayed when article is digitally signed or encrypted, and Gnus has
+hidden the security headers. (N.B. does not tell anything about
+security status, i.e. good or bad signature.)
+
+@item s
+Displayed when the signature has been hidden in the Article buffer.
+
+@item o
+Displayed when Gnus has treated overstrike characters in the article buffer.
+
+@item e
+Displayed when Gnus has treated emphasised strings in the article buffer.
+
+@end table
+
@item m
The number of @sc{mime} parts in the article.
+
@end table
@vindex gnus-break-pages
for posting.
Finally, if you want to always post using the native select method,
-you can set this variable to @code{nil}.
+you can set this variable to @code{native}.
@node Mail and Post
This variable can be used to do the following:
@itemize @bullet
-@item a string
+@item
+a string
Messages will be saved in that group.
Note that you can include a select method in the group name, then the
messages are stored in @samp{nnfolder+archive:foo}, but if you use the
value @code{"nnml:foo"}, then outgoing messages will be stored in
@samp{nnml:foo}.
-@item a list of strings
+@item
+a list of strings
Messages will be saved in all those groups.
-@item an alist of regexps, functions and forms
+@item
+an alist of regexps, functions and forms
When a key ``matches'', the result is used.
-@item @code{nil}
+@item
+@code{nil}
No message archiving will take place. This is the default.
@end itemize
@lisp
(require 'gpg)
(setq mml2015-use 'gpg)
+(setq mml1991-use 'gpg)
(setq gpg-temp-directory (expand-file-name "~/.gnupg/tmp"))
@end lisp
To sign or encrypt your message you may choose to use the MML Security
menu or @kbd{C-c C-m s p} to sign your message using PGP/MIME,
-@kbd{C-c C-m s s} to sign your message using S/MIME. There's also
+@kbd{C-c C-m s s} to sign your message using S/MIME. There's also
@kbd{C-c C-m c p} to encrypt your message with PGP/MIME and @kbd{C-c
C-m c s} to encrypt using S/MIME. @xref{Security, ,Security, message,
The Message Manual}.
two categories: direct connection functions (three pre-made), and
indirect ones (two pre-made).
+@item nntp-prepare-post-hook
+@vindex nntp-prepare-post-hook
+A hook run just before posting an article. If there is no
+@code{Message-ID} header in the article and the news server provides the
+recommended ID, it will be added to the article before running this
+hook. It is useful to make @code{Cancel-Lock} headers even if you
+inhibit Gnus to add a @code{Message-ID} header, you could say:
+
+@lisp
+(add-hook 'nntp-prepare-post-hook 'canlock-insert-header)
+@end lisp
+
@item nntp-list-options
@vindex nntp-list-options
List of newsgroup name used for a option of the LIST command to restrict
@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. Setting
-@code{nnmail-scan-directory-mail-source-once} to non-nil forces Gnus to
-scan the mail source only once. This is particularly useful if you want
-to scan mail groups at a specified level.
+Get mail from several files in a directory. This is typically used
+when you have procmail split the incoming mail into several files.
+That is, mail from the file @file{foo.bar.spool} will be put in the
+group @code{foo.bar}. (You can change the suffix to be used instead
+of @code{.spool}.) Setting
+@code{nnmail-scan-directory-mail-source-once} to non-nil forces Gnus
+to scan the mail source only once. This is particularly useful if you
+want to scan mail groups at a specified level.
Keywords:
and fetches articles from a given @sc{imap} mailbox. @xref{IMAP}, for
more information.
+Note that for the Kerberos, GSSAPI, SSL/TLS and STARTTLS support you
+may need external programs and libraries, @xref{IMAP}.
+
Keywords:
@table @code
@item :port
The port number of the @sc{imap} server. The default is @samp{143}, or
-@samp{993} for SSL connections.
+@samp{993} for SSL/TLS connections.
@item :user
The user name to give to the @sc{imap} server. The default is the login
@vindex mail-source-default-file-modes
All new mail files will get this file mode. The default is 384.
+@item mail-source-movemail-program
+@vindex mail-source-movemail-program
+If non-nil, name of program for fetching new mail. If nil,
+@code{movemail} in @var{exec-directory}.
+
@end table
(nnimap-stream ssl))))
@end lisp
+(Note that for SSL/TLS to work, you need the external library
+@samp{ssl.el}, see below.)
+
The following variables can be used to create a virtual @code{nnimap}
server:
@vindex nnimap-server-port
Port on server to contact. Defaults to port 143, or 993 for SSL.
-Note that this should be a integer, example server specification:
+Note that this should be an integer, example server specification:
@lisp
(nnimap "mail.server.com"
@vindex nnimap-stream
The type of stream used to connect to your server. By default, nnimap
will detect and automatically use all of the below, with the exception
-of SSL. (SSL is being replaced by STARTTLS, which can be automatically
-detected, but it's not widely deployed yet).
+of SSL/TLS. (IMAP over SSL/TLS is being replaced by STARTTLS, which
+can be automatically detected, but it's not widely deployed yet.)
Example server specification:
SSL). Requires the external library @samp{starttls.el} and program
@samp{starttls}.
@item
-@dfn{ssl:} Connect through SSL. Requires OpenSSL (the
-program @samp{openssl}) or SSLeay (@samp{s_client}).
+@dfn{ssl:} Connect through SSL. Requires OpenSSL (the program
+@samp{openssl}) or SSLeay (@samp{s_client}) as well as the external
+library @samp{ssl.el}.
@item
@dfn{shell:} Use a shell command to start @sc{imap} connection.
@item
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
-to OpenSSL/SSLeay.
+to OpenSSL/SSLeay. You also need @samp{ssl.el} (from the W3
+distribution, for instance).
@vindex imap-shell-program
@vindex imap-shell-host
be called with the headers narrowed and should return a group where it
thinks the article should be split to. See @code{nnimap-split-fancy}.
-The splitting code tries to create mailboxes if it need too.
+The splitting code tries to create mailboxes if it needs to.
To allow for different split rules on different virtual servers, and
even different split rules in different inboxes on the same server,
This should be one of @code{mbox}, @code{babyl}, @code{digest},
@code{news}, @code{rnews}, @code{mmdf}, @code{forward}, @code{rfc934},
@code{rfc822-forward}, @code{mime-parts}, @code{standard-digest},
-@code{slack-digest}, @code{clari-briefs}, @code{nsmail} or @code{guess}.
+@code{slack-digest}, @code{clari-briefs}, @code{nsmail},
+@code{outlook}, @code{oe-dbx}, and @code{mailman} or @code{guess}.
@item nndoc-post-type
@vindex nndoc-post-type
@include message.texi
@chapter Emacs MIME
@include emacs-mime.texi
+@chapter Sieve
+@include sieve.texi
@end iflatex
@end iftex
I'm not, so I've added a second prefix---the @dfn{symbolic prefix}. The
prefix key is @kbd{M-i} (@code{gnus-symbolic-argument}), and the next
character typed in is the value. You can stack as many @kbd{M-i}
-prefixes as you want. @kbd{M-i a M-C-u} means ``feed the @kbd{M-C-u}
-command the symbolic prefix @code{a}''. @kbd{M-i a M-i b M-C-u} means
-``feed the @kbd{M-C-u} command the symbolic prefixes @code{a} and
+prefixes as you want. @kbd{M-i a C-M-u} means ``feed the @kbd{C-M-u}
+command the symbolic prefix @code{a}''. @kbd{M-i a M-i b C-M-u} means
+``feed the @kbd{C-M-u} command the symbolic prefixes @code{a} and
@code{b}''. You get the drift.
Typing in symbolic prefixes to commands that don't accept them doesn't
means that the field will never be more than 6 characters wide and never
less than 4 characters wide.
+Also Gnus supports some extended format specifications, such as
+@samp{%&user-date;}.
@node Mode Line Formatting
@subsection Mode Line Formatting
specifier. This function may also be called with dummy values, so it
should protect against that.
+Also Gnus supports extended user-defined specs, such as @samp{%u&foo;}.
+Gnus will call the function @code{gnus-user-format-function-}@samp{foo}.
+
You can also use tilde modifiers (@pxref{Advanced Formatting} to achieve
much the same without defining new functions. Here's an example:
@samp{%~(form (count-lines (point-min) (point)))@@}. The form
@findex gnus-undo
The undoability is provided by the @code{gnus-undo-mode} minor mode. It
is used if @code{gnus-use-undo} is non-@code{nil}, which is the
-default. The @kbd{M-C-_} key performs the @code{gnus-undo}
+default. The @kbd{C-M-_} key performs the @code{gnus-undo}
command, which should feel kinda like the normal Emacs @code{undo}
command.
the @code{xface} support compiled into XEmacs. Otherwise you must have
the @code{netpbm} utilities installed, or munge the
@code{gnus-picons-convert-x-face} variable to use something else.
-
+(NOTE: @code{x-face} is used in the variable name, not @code{xface})
@node Easy Picons
@subsubsection Easy Picons
in the @code{gnus-picons-display-where} buffer.
@item gnus-picons-article-display-x-face
-@findex gnus-article-display-picons
+@findex gnus-picons-article-display-x-face
Decodes and displays the X-Face header if present.
+(NOTE: @code{x-face} is used in the function name, not @code{xface})
@end table
(@code{xbm}). Defaults to @code{(format "@{ echo '/* Width=48,
Height=48 */'; uncompface; @} | icontopbm | pbmtoxbm > %s"
gnus-picons-x-face-file-name)}
+(NOTE: @code{x-face} is used in the variable name, not @code{xface})
@item gnus-picons-x-face-file-name
@vindex gnus-picons-x-face-file-name
Names a temporary file to store the @code{X-Face} bitmap in. Defaults
to @code{(format "/tmp/picon-xface.%s.xbm" (user-login-name))}.
+(NOTE: @code{x-face} is used in the variable name, not @code{xface})
@item gnus-picons-has-modeline-p
@vindex gnus-picons-has-modeline-p
when generating lines in buffers (@pxref{Advanced Formatting}).
@item
-Several commands in the group buffer can be undone with @kbd{M-C-_}
+Several commands in the group buffer can be undone with @kbd{C-M-_}
(@pxref{Undo}).
@item
@item
A new command for reading collections of documents
-(@code{nndoc} with @code{nnvirtual} on top) has been added---@kbd{M-C-d}
+(@code{nndoc} with @code{nnvirtual} on top) has been added---@kbd{C-M-d}
(@pxref{Really Various Summary Commands}).
@item
Believe it or not, but some people who use Gnus haven't really used
Emacs much before they embarked on their journey on the Gnus Love Boat.
-If you are one of those unfortunates whom ``@kbd{M-C-a}'', ``kill the
+If you are one of those unfortunates whom ``@kbd{C-M-a}'', ``kill the
region'', and ``set @code{gnus-flargblossen} to an alist where the key
is a regexp that is used for matching on the group name'' are magical
phrases with little or no meaning, then this appendix is for you. If
to the left hand side of the keyboard, usually on the bottom row.
Now, us Emacs people don't say ``press the meta-control-m key'',
-because that's just too inconvenient. We say ``press the @kbd{M-C-m}
+because that's just too inconvenient. We say ``press the @kbd{C-M-m}
key''. @kbd{M-} is the prefix that means ``meta'' and ``C-'' is the
prefix that means ``control''. So ``press @kbd{C-k}'' means ``press
down the control key, and hold it down while you press @kbd{k}''.
-``Press @kbd{M-C-k}'' means ``press down and hold down the meta key and
+``Press @kbd{C-M-k}'' means ``press down and hold down the meta key and
the control key and then press @kbd{k}''. Simple, ay?
This is somewhat complicated by the fact that not all keyboards have a