@copying
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
* Ultimate:: The Ultimate Bulletin Board systems.
* Web Archive:: Reading mailing list archived on web.
* RSS:: Reading RDF site summary.
-* Customizing w3:: Doing stuff to Emacs/w3 from Gnus.
+* Customizing W3:: Doing stuff to Emacs/W3 from Gnus.
@acronym{IMAP}
* Agent as Cache:: The Agent is a big cache too.
* Agent Expiry:: How to make old articles go away.
* Agent Regeneration:: How to recover from lost connections and other accidents.
+* Agent and flags:: How the Agent maintains flags.
* Agent and IMAP:: How to use the Agent with @acronym{IMAP}.
* Outgoing Messages:: What happens when you post/mail something?
* Agent Variables:: Customizing is fun.
String value of parameters will be subjected to regexp substitution, as
the @code{to-group} example shows.
+@vindex gnus-parameters-case-fold-search
+By default, whether comparing the group name and one of those regexps
+specified in @code{gnus-parameters} is done in a case-sensitive manner
+or a case-insensitive manner depends on the value of
+@code{case-fold-search} at the time when the comparison is done. The
+value of @code{case-fold-search} is typically @code{t}; it means, for
+example, the element @code{("INBOX\\.FOO" (total-expire . t))} might be
+applied to both the @samp{INBOX.FOO} group and the @samp{INBOX.foo}
+group. If you want to make those regexps always case-sensitive, set the
+value of the @code{gnus-parameters-case-fold-search} variable to
+@code{nil}. Otherwise, set it to @code{t} if you want to compare them
+always in a case-insensitive manner.
+
+You can define different sorting to different groups via
+@code{gnus-parameters}. Here is an example to sort an @acronym{NNTP}
+group by reverse date to see the latest news at the top and an
+@acronym{RSS} group by subject. In this example, the first group is the
+Debian daily news group @code{gmane.linux.debian.user.news} from
+news.gmane.org. The @acronym{RSS} group corresponds to the Debian
+weekly news RSS feed
+@url{http://packages.debian.org/unstable/newpkg_main.en.rdf},
+@xref{RSS}.
+
+@lisp
+(setq
+ gnus-parameters
+ '(("nntp.*gmane\\.debian\\.user\\.news"
+ (gnus-show-threads nil)
+ (gnus-article-sort-functions '((not gnus-article-sort-by-date)))
+ (gnus-use-adaptive-scoring nil)
+ (gnus-use-scoring nil))
+ ("nnrss.*debian"
+ (gnus-show-threads nil)
+ (gnus-article-sort-functions 'gnus-article-sort-by-subject)
+ (gnus-use-adaptive-scoring nil)
+ (gnus-use-scoring t)
+ (gnus-score-find-score-files-function 'gnus-score-find-single)
+ (gnus-summary-line-format "%U%R%z%d %I%(%[ %s %]%)\n"))))
+@end lisp
+
@node Listing Groups
@section Listing Groups
@findex gnus-thread-sort-by-total-score
@findex gnus-thread-sort-by-date
+@findex gnus-thread-sort-by-date-reverse
@findex gnus-thread-sort-by-score
@findex gnus-thread-sort-by-subject
@findex gnus-thread-sort-by-author
By default, sorting is done on article numbers. Ready-made sorting
predicate functions include @code{gnus-thread-sort-by-number},
@code{gnus-thread-sort-by-author}, @code{gnus-thread-sort-by-recipient},
-@code{gnus-thread-sort-by-subject}, @code{gnus-thread-sort-by-date},
+@code{gnus-thread-sort-by-subject},
+@code{gnus-thread-sort-by-date}, @code{gnus-thread-sort-by-date-reverse},
@code{gnus-thread-sort-by-score},
@code{gnus-thread-sort-by-most-recent-number},
@code{gnus-thread-sort-by-most-recent-date},
@lisp
(setq gnus-thread-sort-functions
- '((lambda (t1 t2)
- (not (gnus-thread-sort-by-number t1 t2)))
+ '((not gnus-thread-sort-by-number)
gnus-thread-sort-by-score))
@end lisp
gnus-article-sort-by-subject))
@end lisp
+You can define group specific sorting via @code{gnus-parameters},
+@xref{Group Parameters}.
@node Asynchronous Fetching
usually done automatically by Gnus if the message in question has a
@code{Content-Type} header that says that the message is @acronym{HTML}.
-If a prefix is given, a charset will be asked for.
+If a prefix is given, a charset will be asked for. If it is a number,
+the charset defined in @code{gnus-summary-show-article-charset-alist}
+(@pxref{Paging the Article}) will be used.
@vindex gnus-article-wash-function
The default is to use the function specified by
@table @code
@item w3
-Use Emacs/w3.
+Use Emacs/W3.
@item w3m
Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}.
+@item w3m-standalone
+Use @uref{http://w3m.sourceforge.net/, w3m}.
+
@item links
Use @uref{http://links.sf.net/, Links}.
variable to @code{("multipart/signed")} and leave
@code{gnus-unbuttonized-mime-types} at the default value.
+You could also add @code{"multipart/alternative"} to this list to
+display radio buttons that allow you to choose one of two media types
+those mails include. See also @code{mm-discouraged-alternatives}
+(@pxref{Display Customization, ,Display Customization, emacs-mime, The
+Emacs MIME Manual}).
+
@item gnus-inhibit-mime-unbuttonizing
@vindex gnus-inhibit-mime-unbuttonizing
If this is non-@code{nil}, then all @acronym{MIME} parts get buttons. The
Mark all articles as read and go to the next group
(@code{gnus-summary-catchup-and-goto-next-group}).
+@item Z p
+@kindex Z p (Summary)
+@findex gnus-summary-catchup-and-goto-prev-group
+Mark all articles as read and go to the previous group
+(@code{gnus-summary-catchup-and-goto-prev-group}).
+
@item Z R
@itemx C-x C-s
@kindex Z R (Summary)
@code{head}: Do the treatment on the headers.
@item
-@code{last}: Do this treatment on the last part.
+@code{first}: Do this treatment on the first body part.
+
+@item
+@code{last}: Do this treatment on the last body part.
@item
An integer: Do this treatment on all body parts that have a length less
@item gnus-treat-overstrike (t, integer)
@item gnus-treat-strip-cr (t, integer)
@item gnus-treat-strip-headers-in-body (t, integer)
-@item gnus-treat-strip-leading-blank-lines (t, integer)
+@item gnus-treat-strip-leading-blank-lines (t, first, integer)
@item gnus-treat-strip-multiple-blank-lines (t, integer)
@item gnus-treat-strip-pem (t, last, integer)
@item gnus-treat-strip-trailing-blank-lines (t, last, integer)
(nntp-via-rlogin-command "ssh")
@end lisp
-See also @code{nntp-via-rlogin-command-switches}.
+See also @code{nntp-via-rlogin-command-switches}. Here's an example for
+an indirect connection:
+@lisp
+(setq gnus-select-method
+ '(nntp "indirect"
+ (nntp-address "news.server.example")
+ (nntp-via-user-name "intermediate_user_name")
+ (nntp-via-address "intermediate.host.example")
+ (nntp-via-rlogin-command "ssh")
+ (nntp-end-of-line "\n")
+ (nntp-via-rlogin-command-switches ("-C" "-t" "-e" "none"))
+ (nntp-open-connection-function nntp-open-via-rlogin-and-telnet)))
+@end lisp
If you're behind a firewall, but have direct access to the outside world
through a wrapper command like "runsocks", you could open a socksified
@item nntp-open-via-telnet-and-telnet
@findex nntp-open-via-telnet-and-telnet
-Does essentially also the same, but uses @samp{telnet} instead of
+Does essentially the same, but uses @samp{telnet} instead of
@samp{rlogin} to connect to the intermediate host.
@code{nntp-open-via-telnet-and-telnet}-specific variables:
before it will be expired, or the symbol @code{never} to specify that
articles should never be expired. If this parameter is not set,
@code{nnmaildir} falls back to the usual
-@code{nnmail-expiry-wait}(@code{-function}) variables (overrideable by
-the @code{expiry-wait}(@code{-function}) group parameters. If you
+@code{nnmail-expiry-wait}(@code{-function}) variables (the
+@code{expiry-wait} group parameter overrides @code{nnmail-expiry-wait}
+and makes @code{nnmail-expiry-wait-function} ineffective). If you
wanted a value of 3 days, you could use something like @code{[(* 3 24
60 60)]}; @code{nnmaildir} will evaluate the form and use the result.
An article's age is measured starting from the article file's
you use the vector form, the first element is evaluated once for each
article. So that form can refer to
@code{nnmaildir-article-file-name}, etc., to decide where to put the
-article. @emph{If this parameter is not set, @code{nnmaildir} does
-not fall back to the @code{expiry-target} group parameter or the
+article. @emph{Even if this parameter is not set, @code{nnmaildir}
+does not fall back to the @code{expiry-target} group parameter or the
@code{nnmail-expiry-target} variable.}
@item read-only
* Ultimate:: The Ultimate Bulletin Board systems.
* Web Archive:: Reading mailing list archived on web.
* RSS:: Reading RDF site summary.
-* Customizing w3:: Doing stuff to Emacs/w3 from Gnus.
+* Customizing W3:: Doing stuff to Emacs/W3 from Gnus.
@end menu
-All the web sources require Emacs/w3 and the url library to work.
+All the web sources require Emacs/W3 and the url library or those
+alternatives to work.
The main caveat with all these web sources is that they probably won't
work for a very long time. Gleaning information from the @acronym{HTML} data
community. Since @code{nnweb} washes the ads off all the articles, one
might think that the providers might be somewhat miffed. We'll see.
-You must have the @code{url} and @code{w3} package installed to be able
-to use @code{nnweb}.
+You must have the @code{url} and @code{W3} package or those alternatives
+(try @code{customize-group} on the @samp{mm-url} variable group)
+installed to be able to use @code{nnweb}.
Virtual server variables:
text by default. It is also used by default for non-@acronym{ASCII}
group names.
-@kindex G R (Summary)
-Use @kbd{G R} from the summary buffer to subscribe to a feed---you will
-be prompted for the location, the title and the description of the feed.
+@kindex G R (Group)
+Use @kbd{G R} from the group buffer to subscribe to a feed---you will be
+prompted for the location, the title and the description of the feed.
The title, which allows any characters, will be used for the group name
and the name of the group data file. The description can be omitted.
XEmacs and want to use non-@acronym{ASCII} group names, you should set
the value for the @code{nnmail-pathname-coding-system} variable properly.
+The @code{nnrss} back end generates @samp{multipart/alternative}
+@acronym{MIME} articles in which each contains a @samp{text/plain} part
+and a @samp{text/html} part.
+
@cindex OPML
You can also use the following commands to import and export your
subscriptions from a file in @acronym{OPML} format (Outline Processor
the feeds from local files in @code{nnrss-directory}. You can use
the command @code{nnrss-generate-download-script} to generate a
download script using @command{wget}.
+
+@item nnrss-wash-html-in-text-plain-parts
+Non-@code{nil} means that @code{nnrss} renders text in @samp{text/plain}
+parts as @acronym{HTML}. The function specified by the
+@code{mm-text-html-renderer} variable (@pxref{Display Customization,
+,Display Customization, emacs-mime, The Emacs MIME Manual}) will be used
+to render text. If it is @code{nil}, which is the default, text will
+simply be folded. Leave it @code{nil} if you prefer to see
+@samp{text/html} parts.
@end table
The following code may be helpful, if you want to show the description in
The following code may be useful to open an nnrss url directly from the
summary buffer.
+
@lisp
(require 'browse-url)
(add-to-list 'nnmail-extra-headers nnrss-url-field)
@end lisp
-@node Customizing w3
-@subsection Customizing w3
-@cindex w3
+Even if you have added @code{"text/html"} to the
+@code{mm-discouraged-alternatives} variable (@pxref{Display
+Customization, ,Display Customization, emacs-mime, The Emacs MIME
+Manual}) since you don't want to see @acronym{HTML} parts, it might be
+more useful especially in @code{nnrss} groups to display
+@samp{text/html} parts. Here's an example of setting
+@code{mm-discouraged-alternatives} as a group parameter (@pxref{Group
+Parameters}) in order to display @samp{text/html} parts only in
+@code{nnrss} groups:
+
+@lisp
+;; @r{Set the default value of @code{mm-discouraged-alternatives}.}
+(eval-after-load "gnus-sum"
+ '(add-to-list
+ 'gnus-newsgroup-variables
+ '(mm-discouraged-alternatives
+ . '("text/html" "image/.*"))))
+
+;; @r{Display @samp{text/html} parts in @code{nnrss} groups.}
+(add-to-list
+ 'gnus-parameters
+ '("\\`nnrss:" (mm-discouraged-alternatives nil)))
+@end lisp
+
+
+@node Customizing W3
+@subsection Customizing W3
+@cindex W3
@cindex html
@cindex url
@cindex Netscape
-Gnus uses the url library to fetch web pages and Emacs/w3 to display web
-pages. Emacs/w3 is documented in its own manual, but there are some
-things that may be more relevant for Gnus users.
+Gnus uses the url library to fetch web pages and Emacs/W3 (or those
+alternatives) to display web pages. Emacs/W3 is documented in its own
+manual, but there are some things that may be more relevant for Gnus
+users.
-For instance, a common question is how to make Emacs/w3 follow links
+For instance, a common question is how to make Emacs/W3 follow links
using the @code{browse-url} functions (which will call some external web
browser like Netscape). Here's one way:
(w3-fetch-orig url target)))))
@end lisp
-Put that in your @file{.emacs} file, and hitting links in w3-rendered
+Put that in your @file{.emacs} file, and hitting links in W3-rendered
@acronym{HTML} in the Gnus article buffers will use @code{browse-url} to
follow the link.
@cindex namespaces
The @acronym{IMAP} protocol has a concept called namespaces, described
-by the following text in the RFC:
+by the following text in the RFC2060:
@display
5.1.2. Mailbox Namespace Naming Convention
@table @code
@cindex Babyl
@cindex Rmail mbox
-
@item babyl
The Babyl (Rmail) mail box.
+
@cindex mbox
@cindex Unix mbox
-
@item mbox
The standard Unix mbox file.
@item news
Several news articles appended into a file.
-@item rnews
@cindex rnews batch files
+@item rnews
The rnews batch transport format.
-@cindex forwarded messages
-
-@item forward
-Forwarded articles.
@item nsmail
Netscape mail boxes.
@item lanl-gov-announce
Announcement messages from LANL Gov Announce.
+@cindex forwarded messages
@item rfc822-forward
A message forwarded according to RFC822.
@item article-begin
This setting has to be present in all document type definitions. It
-says what the beginning of each article looks like.
+says what the beginning of each article looks like. To do more
+complicated things that cannot be dealt with a simple regexp, you can
+use @code{article-begin-function} instead of this.
-@item head-begin-function
-If present, this should be a function that moves point to the head of
-the article.
+@item article-begin-function
+If present, this should be a function that moves point to the beginning
+of each article. This setting overrides @code{article-begin}.
-@item nndoc-head-begin
+@item head-begin
If present, this should be a regexp that matches the head of the
-article.
+article. To do more complicated things that cannot be dealt with a
+simple regexp, you can use @code{head-begin-function} instead of this.
-@item nndoc-head-end
+@item head-begin-function
+If present, this should be a function that moves point to the head of
+the article. This setting overrides @code{head-begin}.
+
+@item head-end
This should match the end of the head of the article. It defaults to
@samp{^$}---the empty line.
+@item body-begin
+This should match the beginning of the body of the article. It defaults
+to @samp{^\n}. To do more complicated things that cannot be dealt with
+a simple regexp, you can use @code{body-begin-function} instead of this.
+
@item body-begin-function
If present, this function should move point to the beginning of the body
-of the article.
+of the article. This setting overrides @code{body-begin}.
-@item body-begin
-This should match the beginning of the body of the article. It defaults
-to @samp{^\n}.
+@item body-end
+If present, this should match the end of the body of the article. To do
+more complicated things that cannot be dealt with a simple regexp, you
+can use @code{body-end-function} instead of this.
@item body-end-function
If present, this function should move point to the end of the body of
-the article.
+the article. This setting overrides @code{body-end}.
-@item body-end
-If present, this should match the end of the body of the article.
+@item file-begin
+If present, this should match the beginning of the file. All text
+before this regexp will be totally ignored.
@item file-end
If present, this should match the end of the file. All text after this
expected to generate a nice head for the article in question. It is
called when requesting the headers of all articles.
+@item generate-article-function
+If present, this function is called to generate an entire article that
+Gnus can understand. It is called with the article number as a
+parameter when requesting all articles.
+
+@item dissection-function
+If present, this function is called to dissect a document by itself,
+overriding @code{first-article}, @code{article-begin},
+@code{article-begin-function}, @code{head-begin},
+@code{head-begin-function}, @code{head-end}, @code{body-begin},
+@code{body-begin-function}, @code{body-end}, @code{body-end-function},
+@code{file-begin}, and @code{file-end}.
+
@end table
Let's look at the most complicated example I can come up with---standard
* Agent as Cache:: The Agent is a big cache too.
* Agent Expiry:: How to make old articles go away.
* Agent Regeneration:: How to recover from lost connections and other accidents.
+* Agent and flags:: How the Agent maintains flags.
* Agent and IMAP:: How to use the Agent with @acronym{IMAP}.
* Outgoing Messages:: What happens when you post/mail something?
* Agent Variables:: Customizing is fun.
@cindex Agent Parameters
@table @code
-@item agent-cat-name
-The name of the category.
-
@item agent-groups
The list of groups that are in this category.
A predicate which (generally) gives a rough outline of which articles
are eligible for downloading; and
-@item agent-score-file
+@item agent-score
a score rule which (generally) gives you a finer granularity when
deciding what articles to download. (Note that this @dfn{download
score} is not necessarily related to normal scores.)
@item agent-high-score
an integer that overrides the value of @code{gnus-agent-high-score}.
-@item agent-length-when-short
+@item agent-short-article
an integer that overrides the value of
@code{gnus-agent-short-article}.
-@item agent-length-when-long
+@item agent-long-article
an integer that overrides the value of @code{gnus-agent-long-article}.
@item agent-enable-undownloaded-faces
@item J s
@kindex J s (Agent Summary)
-@findex gnus-agent-fetch-series
+@findex gnus-agent-summary-fetch-series
Download all processable articles in this group.
-(@code{gnus-agent-fetch-series}).
+(@code{gnus-agent-summary-fetch-series}).
@item J u
@kindex J u (Agent Summary)
are stored locally. An optional argument will mark articles in the
agent as unread.
-@node Agent and IMAP
-@subsection Agent and IMAP
-
-The Agent works with any Gnus back end, including nnimap. However,
-since there are some conceptual differences between @acronym{NNTP} and
-@acronym{IMAP}, this section (should) provide you with some information to
-make Gnus Agent work smoother as a @acronym{IMAP} Disconnected Mode client.
+@node Agent and flags
+@subsection Agent and flags
-The first thing to keep in mind is that all flags (read, ticked, etc)
-are kept on the @acronym{IMAP} server, rather than in @file{.newsrc} as is the
-case for nntp. Thus Gnus need to remember flag changes when
-disconnected, and synchronize these flags when you plug back in.
+The Agent works with any Gnus back end including those, such as
+nnimap, that store flags (read, ticked, etc) on the server. Sadly,
+the Agent does not actually know which backends keep their flags in
+the backend server rather than in @file{.newsrc}. This means that the
+Agent, while unplugged or disconnected, will always record all changes
+to the flags in its own files.
-Gnus keeps track of flag changes when reading nnimap groups under the
-Agent. When you plug back in, Gnus will check if you have any changed
-any flags and ask if you wish to synchronize these with the server.
-The behavior is customizable by @code{gnus-agent-synchronize-flags}.
+When you plug back in, Gnus will then check to see if you have any
+changed any flags and ask if you wish to synchronize these with the
+server. This behavior is customizable by @code{gnus-agent-synchronize-flags}.
@vindex gnus-agent-synchronize-flags
If @code{gnus-agent-synchronize-flags} is @code{nil}, the Agent will
@code{gnus-agent-synchronize-flags} command that is bound to @kbd{J Y}
in the group buffer.
+Technical note: the synchronization algorithm does not work by ``pushing''
+all local flags to the server, but rather by incrementally updated the
+server view of flags by changing only those flags that were changed by
+the user. Thus, if you set one flag on an article, quit the group then
+re-select the group and remove the flag; the flag will be set and
+removed from the server when you ``synchronize''. The queued flag
+operations can be found in the per-server @code{flags} file in the Agent
+directory. It's emptied when you synchronize flags.
+
+@node Agent and IMAP
+@subsection Agent and IMAP
+
+The Agent works with any Gnus back end, including nnimap. However,
+since there are some conceptual differences between @acronym{NNTP} and
+@acronym{IMAP}, this section (should) provide you with some information to
+make Gnus Agent work smoother as a @acronym{IMAP} Disconnected Mode client.
+
Some things are currently not implemented in the Agent that you'd might
expect from a disconnected @acronym{IMAP} client, including:
@end itemize
-Technical note: the synchronization algorithm does not work by ``pushing''
-all local flags to the server, but rather incrementally update the
-server view of flags by changing only those flags that were changed by
-the user. Thus, if you set one flag on an article, quit the group and
-re-select the group and remove the flag; the flag will be set and
-removed from the server when you ``synchronize''. The queued flag
-operations can be found in the per-server @code{flags} file in the Agent
-directory. It's emptied when you synchronize flags.
-
-
@node Outgoing Messages
@subsection Outgoing Messages
thing to do as the newly downloaded article has obviously not been
read. The default is @code{t}.
+@item gnus-agent-synchronize-flags
+@vindex gnus-agent-synchronize-flags
+If @code{gnus-agent-synchronize-flags} is @code{nil}, the Agent will
+never automatically synchronize flags. If it is @code{ask}, which is
+the default, the Agent will check if you made any changes and if so
+ask if you wish to synchronize these when you re-connect. If it has
+any other value, all flags will be synchronized automatically.
+
@item gnus-agent-consider-all-articles
@vindex gnus-agent-consider-all-articles
If @code{gnus-agent-consider-all-articles} is non-@code{nil}, the
@item
A function. If the function returns non-@code{nil}, the result will
-be used as the home score file.
+be used as the home score file. The function will be called with the
+name of the group as the parameter.
@item
A string. Use the string as the home score file.
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 20 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 @code{compface} or @code{faces-xface} on a GNU/Linux system.} to
-view the face.
+The default action under Emacs without image support 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 @code{compface} or @code{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
auto-detect this directory, but you may set it manually if you have an
unusual directory structure.
-@item gnus-xmas-logo-color-alist
-@vindex gnus-xmas-logo-color-alist
-This is an alist where the key is a type symbol and the values are the
-foreground and background color of the splash page glyph.
-
-@item gnus-xmas-logo-color-style
-@vindex gnus-xmas-logo-color-style
-This is the key used to look up the color in the alist described above.
-Valid values include @code{flame}, @code{pine}, @code{moss},
-@code{irish}, @code{sky}, @code{tin}, @code{velvet}, @code{grape},
-@code{labia}, @code{berry}, @code{neutral}, and @code{september}.
-
@item gnus-xmas-modeline-glyph
@vindex gnus-xmas-modeline-glyph
A glyph displayed in all Gnus mode lines. It is a tiny gnu head by
@item gnus-use-toolbar
@vindex gnus-use-toolbar
-If @code{nil}, don't display toolbars. If non-@code{nil}, it should be
-one of @code{default-toolbar}, @code{top-toolbar}, @code{bottom-toolbar},
-@code{right-toolbar}, or @code{left-toolbar}.
+This variable specifies the position to display the toolbar. If
+@code{nil}, don't display toolbars. If it is non-nil, it should be one
+of the symbols @code{default}, @code{top}, @code{bottom}, @code{right},
+and @code{left}. @code{default} means to use the default toolbar, the
+rest mean to display the toolbar on the place which those names show.
+The default is @code{default}.
+
+@item gnus-toolbar-thickness
+@vindex gnus-toolbar-thickness
+Cons of the height and the width specifying the thickness of a toolbar.
+The height is used for the toolbar displayed on the top or the bottom,
+the width is used for the toolbar displayed on the right or the left.
+The default is that of the default toolbar.
@item gnus-group-toolbar
@vindex gnus-group-toolbar
running your own news server, for instance, and the local article
numbers don't correspond to the Gmane article numbers. When
@code{spam-report-gmane-use-article-number} is @code{nil},
-@code{spam-report.el} will use the @code{X-Report-Spam} header that
-Gmane provides.
+@code{spam-report.el} will fetch the number from the article headers.
+
+@end defvar
+
+@defvar spam-report-user-mail-address
+
+Mail address exposed in the User-Agent spam reports to Gmane. It allows
+the Gmane administrators to contact you in case of misreports. The
+default is @code{user-mail-address}.
@end defvar
@item nnheader-max-head-length
@vindex nnheader-max-head-length
When the back ends read straight heads of articles, they all try to read
-as little as possible. This variable (default 4096) specifies
+as little as possible. This variable (default 8192) specifies
the absolute max length the back ends will try to read before giving up
on finding a separator line between the head and the body. If this
variable is @code{nil}, there is no upper read bound. If it is
whatever packages the Gnus XEmacs package requires. The current
requirements are @samp{gnus}, @samp{mail-lib}, @samp{xemacs-base},
@samp{eterm}, @samp{sh-script}, @samp{net-utils}, @samp{os-utils},
-@samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print}, @samp{w3},
+@samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print}, @samp{W3},
@samp{pgg}, @samp{mailcrypt}, @samp{ecrypto}, and @samp{sasl}.
January 25th 1997 (after 84 releases) as ``Gnus 5.4'' (67 releases).
On September 13th 1997, Quassia Gnus was started and lasted 37 releases.
-If was released as ``Gnus 5.6'' on March 8th 1998 (46 releases).
+It was released as ``Gnus 5.6'' on March 8th 1998 (46 releases).
Gnus 5.6 begat Pterodactyl Gnus on August 29th 1998 and was released as
``Gnus 5.8'' (after 99 releases and a CVS repository) on December 3rd
@item PGP/MIME - RFC 2015/3156
RFC 2015 (superseded by 3156 which references RFC 2440 instead of RFC
-1991) describes the @acronym{MIME}-wrapping around the RF 1991/2440 format.
+1991) describes the @acronym{MIME}-wrapping around the RFC 1991/2440 format.
Gnus supports both encoding and decoding.
@item S/MIME - RFC 2633
Earlier this was done only via @kbd{G p} (or @kbd{G c}), which stored
the parameters in @file{~/.newsrc.eld}, but via this variable you can
enjoy the powers of customize, and simplified backups since you set the
-variable in @file{~/.emacs} instead of @file{~/.newsrc.eld}. The
+variable in @file{~/.gnus.el} instead of @file{~/.newsrc.eld}. The
variable maps regular expressions matching group names to group
parameters, a'la:
@lisp
@item
Smileys (@samp{:-)}, @samp{;-)} etc) are now iconized for Emacs too.
-Put @code{(setq gnus-treat-display-smileys nil)} in @file{~/.emacs} to
+Put @code{(setq gnus-treat-display-smileys nil)} in @file{~/.gnus.el} to
disable it.
@item
followups (see the variables @code{message-cross-post-@var{*}}).
@item
-References and X-Draft-Headers are no longer generated when you start
-composing messages and @code{message-generate-headers-first} is
+References and X-Draft-From headers are no longer generated when you
+start composing messages and @code{message-generate-headers-first} is
@code{nil}.
@item
(@code{gnus-summary-insert-cached-articles}). The new function filters
out other articles.
-@item Some limiting commands accept a @kbd{C-u} prefix to negate the match.
+@item
+Some limiting commands accept a @kbd{C-u} prefix to negate the match.
If @kbd{C-u} is used on subject, author or extra headers, i.e., @kbd{/
s}, @kbd{/ a}, and @kbd{/ x}
useful data is in the summary buffer, anyway. Set this variable to
@samp{^NEVVVVER} or @samp{From:}, or whatever you feel you need.
-Set this hook to all the available hiding commands:
+Use the following to enable all the available hiding features:
@lisp
(setq gnus-treat-hide-headers 'head
gnus-treat-hide-signature t
certain things, it's trivial to have it do something a different way.
(Well, at least if you know how to write Lisp code.) However, that's
beyond the scope of this manual, so we are simply going to talk about
-some common constructs that you normally use in your @file{.emacs} file
-to customize Gnus.
+some common constructs that you normally use in your @file{~/.gnus.el}
+file to customize Gnus. (You can also use the @file{~/.emacs} file, but
+in order to set things of Gnus up, it is much better to use the
+@file{~/.gnus.el} file, @xref{Startup Files}.)
If you want to set the variable @code{gnus-florgbnize} to four (4), you
write the following:
This function (really ``special form'') @code{setq} is the one that can
set a variable to some value. This is really all you need to know. Now
-you can go and fill your @file{.emacs} file with lots of these to change
-how Gnus works.
+you can go and fill your @file{~/.gnus.el} file with lots of these to
+change how Gnus works.
-If you have put that thing in your @file{.emacs} file, it will be read
-and @code{eval}ed (which is lisp-ese for ``run'') the next time you
-start Emacs. If you want to change the variable right away, simply say
+If you have put that thing in your @file{~/.gnus.el} file, it will be
+read and @code{eval}ed (which is Lisp-ese for ``run'') the next time you
+start Gnus. If you want to change the variable right away, simply say
@kbd{C-x C-e} after the closing parenthesis. That will @code{eval} the
previous ``form'', which is a simple @code{setq} statement here.