\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Gnus 5.6.33 Manual
+@settitle Pterodactyl Gnus 0.16 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@c @direntry
-@c * Gnus: (gnus). The news reader Gnus.
+@c * Gnus: (gnus). The newsreader Gnus.
@c @end direntry
@iftex
@finalout
\newcommand{\gnustilde}{\symbol{"7E}}
\newcommand{\gnusless}{{$<$}}
\newcommand{\gnusgreater}{{$>$}}
+\newcommand{\gnusbraceleft}{{$>$}}
+\newcommand{\gnusbraceright}{{$>$}}
\newcommand{\gnushead}{\raisebox{-1cm}{\epsfig{figure=ps/gnus-head.eps,height=1cm}}}
\newcommand{\gnusinteresting}{
@tex
@titlepage
-@title Gnus 5.6.33 Manual
+@title Pterodactyl Gnus 0.16 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.6.33.
+This manual corresponds to Pterodactyl Gnus 0.16.
@end ifinfo
background is dark:
@lisp
-(face-spec-set 'my-group-face-1 '((t (:foreground "Red" :bold t))))
-(face-spec-set 'my-group-face-2 '((t (:foreground "SeaGreen" :bold t))))
-(face-spec-set 'my-group-face-3 '((t (:foreground "SpringGreen" :bold t))))
-(face-spec-set 'my-group-face-4 '((t (:foreground "SteelBlue" :bold t))))
-(face-spec-set 'my-group-face-5 '((t (:foreground "SkyBlue" :bold t))))
+(face-spec-set 'my-group-face-1
+ '((t (:foreground "Red" :bold t))))
+(face-spec-set 'my-group-face-2
+ '((t (:foreground "SeaGreen" :bold t))))
+(face-spec-set 'my-group-face-3
+ '((t (:foreground "SpringGreen" :bold t))))
+(face-spec-set 'my-group-face-4
+ '((t (:foreground "SteelBlue" :bold t))))
+(face-spec-set 'my-group-face-5
+ '((t (:foreground "SkyBlue" :bold t))))
(setq gnus-group-highlight
'(((> unread 200) . my-group-face-1)
this command without a prefix, Gnus will guess at the file type.
@xref{Document Groups}.
+@item G u
+@kindex G u (Group)
+@vindex gnus-useful-groups
+@findex gnus-group-make-useful-group
+Create one of the groups mentioned in @code{gnus-useful-groups}
+(@code{gnus-group-make-useful-group}).
+
@item G w
@kindex G w (Group)
@findex gnus-group-make-web-group
Gnus, but provide a place for you to store information on particular
groups.
+@item charset
+Elements that look like @code{(charset . iso-8859-1)} will make
+@code{iso-8859-1} the default charset; that is, the charset that will be
+used for all articles that do not specify a charset.
+
@item @var{(variable 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},
@end table
-When given a prefix, all these commands will sort in reverse order.
+All the commands below obeys the process/prefix convention
+(@pxref{Process/Prefix}).
+
+When given a symbolic prefix (@pxref{Symbolic Prefixes}), all these
+commands will sort in reverse order.
You can also sort a subset of the groups:
@item G P a
@kindex G P a (Group)
@findex gnus-group-sort-selected-groups-by-alphabet
-Sort the process/prefixed groups in the group buffer alphabetically by
-group name (@code{gnus-group-sort-selected-groups-by-alphabet}).
+Sort the groups alphabetically by group name
+(@code{gnus-group-sort-selected-groups-by-alphabet}).
@item G P u
@kindex G P u (Group)
@findex gnus-group-sort-selected-groups-by-unread
-Sort the process/prefixed groups in the group buffer by the number of
-unread articles (@code{gnus-group-sort-selected-groups-by-unread}).
+Sort the groups by the number of unread articles
+(@code{gnus-group-sort-selected-groups-by-unread}).
@item G P l
@kindex G P l (Group)
@findex gnus-group-sort-selected-groups-by-level
-Sort the process/prefixed groups in the group buffer by group level
+Sort the groups by group level
(@code{gnus-group-sort-selected-groups-by-level}).
@item G P v
@kindex G P v (Group)
@findex gnus-group-sort-selected-groups-by-score
-Sort the process/prefixed groups in the group buffer by group score
+Sort the groups by group score
(@code{gnus-group-sort-selected-groups-by-score}). @xref{Group Score}.
@item G P r
@kindex G P r (Group)
@findex gnus-group-sort-selected-groups-by-rank
-Sort the process/prefixed groups in the group buffer by group rank
+Sort the groups by group rank
(@code{gnus-group-sort-selected-groups-by-rank}). @xref{Group Score}.
@item G P m
@kindex G P m (Group)
@findex gnus-group-sort-selected-groups-by-method
-Sort the process/prefixed groups in the group buffer alphabetically by
-backend name (@code{gnus-group-sort-selected-groups-by-method}).
+Sort the groups alphabetically by backend name
+(@code{gnus-group-sort-selected-groups-by-method}).
@end table
. "emacs.SCORE")}; the @samp{Relief} topic has the topic parameter
@code{(score-file . "relief.SCORE")}; and the @samp{Misc} topic has the
topic parameter @code{(score-file . "emacs.SCORE")}. In addition,
-@samp{alt.religion.emacs} has the group parameter @code{(score-file
+@* @samp{alt.religion.emacs} has the group parameter @code{(score-file
. "religion.SCORE")}.
Now, when you enter @samp{alt.sex.emacs} in the @samp{Relief} topic, you
* Saving Articles:: Ways of customizing article saving.
* Decoding Articles:: Gnus can treat series of (uu)encoded articles.
* Article Treatment:: The article buffer can be mangled at will.
+* MIME Commands:: Doing MIMEy things with the articles.
* Article Commands:: Doing various things with the article buffer.
* Summary Sorting:: Sorting the summary buffer in various ways.
* Finding the Parent:: No child support? Get the parent.
Scroll the current article one line forward
(@code{gnus-summary-scroll-up}).
+@item M-RET
+@kindex M-RET (Summary)
+@findex gnus-summary-scroll-down
+Scroll the current article one line backward
+(@code{gnus-summary-scroll-down}).
+
@item A g
@itemx g
@kindex A g (Summary)
The default value is @code{(read exit)}.
-@vindex gnus-use-header-prefetch
-If @code{gnus-use-header-prefetch} is non-@code{nil}, prefetch articles
-from the next group.
+@c @vindex gnus-use-header-prefetch
+@c If @code{gnus-use-header-prefetch} is non-@code{nil}, prefetch articles
+@c from the next group.
@node Article Caching
not then be downloaded by this command.
@vindex gnus-uncacheable-groups
-It is likely that you do not want caching on some groups. For instance,
+@vindex gnus-cacheable-groups
+It is likely that you do not want caching on all groups. For instance,
if your @code{nnml} mail is located under your home directory, it makes no
sense to cache it somewhere else under your home directory. Unless you
-feel that it's neat to use twice as much space. To limit the caching,
-you could set the @code{gnus-uncacheable-groups} regexp to
-@samp{^nnml}, for instance. This variable is @code{nil} by
-default.
+feel that it's neat to use twice as much space.
+
+To limit the caching, you could set @code{gnus-cacheable-groups} to a
+regexp of groups to cache, @samp{^nntp} for instance, or set the
+@code{gnus-uncacheable-groups} regexp to @samp{^nnml}, for instance.
+Both variables are @code{nil} by default. If a group matches both
+variables, the group is not cached.
@findex gnus-cache-generate-nov-databases
@findex gnus-cache-generate-active
@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.
+signature has been hidden. For example, to automatically verify
+articles that have signatures in them do:
+@lisp
+;;; Hide pgp cruft if any.
+
+(add-hook 'gnus-article-display-hook 'gnus-article-hide-pgp)
+
+;;; After hiding pgp, verify the message;
+;;; only happens if pgp signature is found.
+
+(add-hook 'gnus-article-hide-pgp-hook
+ (lambda ()
+ (save-excursion
+ (set-buffer gnus-original-article-buffer)
+ (mc-verify))))
+@end lisp
@item W W P
@kindex W W P (Summary)
@table @samp
@item b
-Start point of the hidden text.
+Starting point of the hidden text.
@item e
-End point of the hidden text.
+Ending point of the hidden text.
@item l
-Length of the hidden text.
+Number of characters in the hidden region.
+@item n
+Number of lines of hidden text.
@end table
@item gnus-cited-lines-visible
signature after all.
+@node MIME Commands
+@section MIME Commands
+@cindex MIME decoding
+
+@table @kbd
+@item W M w
+@kindex W M w (Summary)
+Decode RFC2047-encoded words in the article headers
+(@code{gnus-article-decode-mime-words}).
+
+@item W M c
+@kindex W M c (Summary)
+Decode encoded article bodies as well as charsets
+(@code{gnus-article-decode-charset}).
+
+This command looks in the @code{Content-Type} header to determine the
+charset. If there is no such header in the article, you can give it a
+prefix, which will prompt for the charset to decode as. In regional
+groups where people post using some common encoding (but do not include
+MIME headers), you can set the @code{charset} group/topic parameter to
+the required charset (@pxref{Group Parameters}).
+
+@end table
+
+
@node Article Commands
@section Article Commands
@item B r
@kindex B r (Summary)
@findex gnus-summary-respool-article
-Respool the mail article (@code{gnus-summary-move-article}).
+Respool the mail article (@code{gnus-summary-respool-article}).
@code{gnus-summary-respool-default-method} will be used as the default
select method when respooling. This variable is @code{nil} by default,
which means that the current group select method will be used instead.
Each style may contain a arbitrary amount of @dfn{attributes}. Each
attribute consists of a @var{(name . value)} pair. The attribute name
can be one of @code{signature}, @code{signature-file},
-@code{organization}, @code{address} or @code{name}. The attribute name
-can also be a string. In that case, this will be used as a header name,
-and the value will be inserted in the headers of the article.
+@code{organization}, @code{address}, @code{name} or @code{body}. The
+attribute name can also be a string. In that case, this will be used as
+a header name, and the value will be inserted in the headers of the
+article.
The attribute value can be a string (used verbatim), a function (the
return value will be used), a variable (its value will be used) or a
list (it will be @code{eval}ed and the return value will be used).
+If you wish to check whether the message you are about to compose is
+meant to be a news article or a mail message, you can check the values
+of the two dynamically bound variables @code{message-this-is-news} and
+@code{message-this-is-mail}.
+
+@vindex message-this-is-mail
+@vindex message-this-is-news
+
So here's a new example:
@lisp
(signature my-funny-signature-randomizer))
((equal (system-name) "gnarly")
(signature my-quote-randomizer))
+ (message-this-is-new
+ (signature my-news-signature))
(posting-from-work-p
(signature-file "~/.work-signature")
(address "user@@bar.foo")
+ (body "You are fired.\n\nSincerely, your boss.")
(organization "Important Work, Inc"))
("^nn.+:"
(signature-file "~/.mail-signature"))))
by the @code{nntp-maximum-request} variable, and is 400 by default. If
your network is buggy, you should set this to 1.
-@c @item nntp-connection-timeout
-@c @vindex nntp-connection-timeout
-@c If you have lots of foreign @code{nntp} groups that you connect to
-@c regularly, you're sure to have problems with @sc{nntp} servers not
-@c responding properly, or being too loaded to reply within reasonable
-@c time. This is can lead to awkward problems, which can be helped
-@c somewhat by setting @code{nntp-connection-timeout}. This is an integer
-@c that says how many seconds the @code{nntp} backend should wait for a
-@c connection before giving up. If it is @code{nil}, which is the default,
-@c no timeouts are done.
-@c
+@item nntp-connection-timeout
+@vindex nntp-connection-timeout
+If you have lots of foreign @code{nntp} groups that you connect to
+regularly, you're sure to have problems with @sc{nntp} servers not
+responding properly, or being too loaded to reply within reasonable
+time. This is can lead to awkward problems, which can be helped
+somewhat by setting @code{nntp-connection-timeout}. This is an integer
+that says how many seconds the @code{nntp} backend should wait for a
+connection before giving up. If it is @code{nil}, which is the default,
+no timeouts are done.
+
@c @item nntp-command-timeout
@c @vindex nntp-command-timeout
@c @cindex PPP connections
@end example
If the string contains the element @samp{\&}, then the previously
-matched string will be substituted. Similarly, the elements @samp{\1}
-up to @samp{\9} will be substituted with the text matched by the
+matched string will be substituted. Similarly, the elements @samp{\\1}
+up to @samp{\\9} will be substituted with the text matched by the
groupings 1 through 9.
@item nnfolder-get-new-mail
@vindex nnfolder-get-new-mail
If non-@code{nil}, @code{nnfolder} will read incoming mail.
+
+@item nnfolder-save-buffer-hook
+@vindex nnfolder-save-buffer-hook
+@cindex backup files
+Hook run before saving the folders. Note that Emacs does the normal
+backup renaming of files even with the @code{nnfolder} buffers. If you
+wish to switch this off, you could say something like the following in
+your @file{.emacs} file:
+
+@lisp
+(defun turn-off-backup ()
+ (set (make-local-variable 'backup-inhibited) t))
+
+(add-hook 'nnfolder-save-buffer-hook 'turn-off-backup)
+@end lisp
+
+@item nnfolder-delete-mail-hook
+@vindex nnfolder-delete-mail-hook
+Hook run in a buffer narrowed to the message that is to be deleted.
+This function can be used to copy the message to somewhere else, or to
+extract some information from it before removing it.
+
@end table
+
@findex nnfolder-generate-active-file
@kindex M-x nnfolder-generate-active-file
If you have lots of @code{nnfolder}-like files you'd like to read with
and a server in Norway, you could use the following as the group regexp:
@example
-"^nntp\\+some\\.server\\.jp:soc\\.motss$\\|^nntp\\+some\\.server\\.no:soc\\.motss$"
+"^nntp\\+server\\.jp:soc\\.motss$\\|^nntp\\+server\\.no:soc\\.motss$"
@end example
(Remember, though, that if you're creating the group with @kbd{G m}, you
Or you can just tap @code{M-g} on the virtual group every time before
you enter it---it'll have much the same effect.
+@code{nnvirtual} can have both mail and news groups as component groups.
+When responding to articles in @code{nnvirtual} groups, @code{nnvirtual}
+has to ask the backend of the component group the article comes from
+whether it is a news or mail backend. However, when you do a @kbd{^},
+there is typically no sure way for the component backend to know this,
+and in that case @code{nnvirtual} tells Gnus that the article came from a
+not-news backend. (Just to be on the safe side.)
+
+@kbd{C-c C-t} in the message buffer will insert the @code{Newsgroups}
+line from the article you respond to in these cases.
+
+
@node Kibozed Groups
@subsection Kibozed Groups
Remove the downloading mark from the article
(@code{gnus-agent-unmark-article}).
-@item @@
+@item @@
@kindex @@ (Agent Summary)
@findex gnus-agent-toggle-mark
Toggle whether to download the article (@code{gnus-agent-toggle-mark}).
@item x
Score on the Xref line---i.e., the cross-posting line.
-@item t
-Score on thread---the References line.
+@item r
+Score on the References line.
@item d
Score on the date.
@item h
Score on the head.
+
+@item t
+Score on thead.
+
@end table
@item
@lisp
(defun gnus-decay-score (score)
- "Decay SCORE according to `gnus-score-decay-constant' and `gnus-score-decay-scale'."
+ "Decay SCORE.
+This is done according to `gnus-score-decay-constant'
+and `gnus-score-decay-scale'."
(floor
(- score
(* (if (< score 0) 1 -1)
@item summary-highlight
Do highlights in the summary buffer.
@item article-highlight
-Do highlights in the article buffer.
+Do highlights according to @code{gnus-article-display-hook} in the
+article buffer.
@item highlight
Turn on highlighting in all buffers.
@item group-menu
@vindex gnus-picons-piconsearch-url
If you have a permanent connection to the Internet you can use Steve
Kinzler's Picons Search engine by setting
-@code{gnus-picons-piconsearch-url} to the string
+@code{gnus-picons-piconsearch-url} to the string @*
@file{http://www.cs.indiana.edu/picons/search.html}.
@vindex gnus-picons-database
Otherwise you need a local copy of his database. For instructions on
-obtaining and installing the picons databases, point your Web browser at
+obtaining and installing the picons databases, point your Web browser at @*
@file{http://www.cs.indiana.edu/picons/ftp/index.html}. Gnus expects
picons to be installed into a location pointed to by
@code{gnus-picons-database}.
@lisp
(setq gnus-use-picons t)
-(add-hook 'gnus-article-display-hook 'gnus-article-display-picons t)
-(add-hook 'gnus-article-display-hook 'gnus-picons-article-display-x-face)
+(add-hook 'gnus-article-display-hook
+ 'gnus-article-display-picons t)
+(add-hook 'gnus-article-display-hook
+ 'gnus-picons-article-display-x-face)
@end lisp
and make sure @code{gnus-picons-database} points to the directory
Alternatively if you want to use the web piconsearch engine add this:
@lisp
-(setq gnus-picons-piconsearch-url "http://www.cs.indiana.edu:800/piconsearch")
+(setq gnus-picons-piconsearch-url
+ "http://www.cs.indiana.edu:800/piconsearch")
@end lisp
If you are also a lazy net citizen, you will probably prefer complaining
automatically with the @file{gnus-junk.el} package, available FOR FREE
-at @file{<URL:http://stud2.tuwien.ac.at/~e9426626/gnus-junk.html>}.
+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.
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.33' on March 8th 1998.
+releases. If was released as ``Gnus 5.6 on March 8th 1998.
If you happen upon a version of Gnus that has a prefixed name --
``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' --
Andreas Jaeger,
Randell Jesup,
Fred Johansen,
+Gareth Jones,
Simon Josefsson,
Greg Klanderman,
Karl Kleinpaste,
Peter Skov Knudsen,
Shuhei Kobayashi, @c Kobayashi
+Koseki Yoshinori, @c Koseki
Thor Kristoffersen,
Jens Lautenbacher,
+Martin Larose,
Seokchan Lee, @c Lee
Carsten Leonhardt,
James LewisMoss,
Stephen Peters,
Jens-Ulrik Holger Petersen,
Ulrich Pfeifer,
+Matt Pharr,
John McClary Prevost,
+Bill Pringlemeir,
Mike Pullen,
Jim Radford,
Colin Rafferty,
Chuck Thompson,
Philippe Troin,
James Troup,
+Trung Tran-Duc,
Aaron M. Ucko,
Aki Vehtari,
Didier Verna,
* ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus.
* September Gnus:: The Thing Formally Known As Gnus 5.3/5.3.
* Red Gnus:: Third time best---Gnus 5.4/5.5.
-* Quassia Gnus:: Two times two is four, or Gnus 5.6.33.
+* Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7.
@end menu
These lists are, of course, just @emph{short} overviews of the
Emphasized text can be properly fontisized:
@lisp
-(add-hook 'gnus-article-display-hook 'gnus-article-emphasize)
+(add-hook 'gnus-article-display-hook
+ 'gnus-article-emphasize)
@end lisp
@end itemize
@node Quassia Gnus
@subsubsection Quassia Gnus
-New features in Gnus 5.6.33:
+New features in Gnus 5.6:
@itemize @bullet
problem is that archives are spread all over the net, unlike FAQs.
What would be best I suppose is to find the one closest to your site.
-In any case, there is a list of general news group archives at
+In any case, there is a list of general news group archives at @*
ftp://ftp.neosoft.com/pub/users/claird/news.lists/newsgroup_archives.html
new Date score match types -- < > = (etc) that take floating point
numbers and match on the age of the article.
-@item
- gnus-cacheable-groups
-
@item
@example
> > > If so, I've got one gripe: It seems that when I fire up gnus 5.2.25
@item
Implement gnus-batch-brew-soup.
+@item
+Group parameters and summary commands for un/subscribing to mailing
+lists.
+
+@item
+Introduce nnmail-home-directory.
+
+@item
+gnus-fetch-group and friends should exit Gnus when the user
+exits the group.
+
@item
Solve the halting problem.
Set this hook to all the available hiding commands:
@lisp
(setq gnus-article-display-hook
- '(gnus-article-hide-headers gnus-article-hide-signature
+ '(gnus-article-hide-headers
+ gnus-article-hide-signature
gnus-article-hide-citation))
@end lisp