\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Pterodactyl Gnus 0.42 Manual
+@settitle Pterodactyl Gnus 0.64 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Pterodactyl Gnus 0.42 Manual
+@title Pterodactyl Gnus 0.64 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 Pterodactyl Gnus 0.42.
+This manual corresponds to Pterodactyl Gnus 0.64.
@end ifinfo
@code{gnus-nntp-server} to @code{nil}, which is what it is by default.
@vindex gnus-secondary-servers
+@vindex gnus-nntp-server
You can also make Gnus prompt you interactively for the name of an
@sc{nntp} server. If you give a non-numerical prefix to @code{gnus}
(i.e., @kbd{C-u M-x gnus}), Gnus will let you choose between the servers
in the @code{gnus-secondary-servers} list (if any). You can also just
-type in the name of any server you feel like visiting.
+type in the name of any server you feel like visiting. (Note that this
+will set @code{gnus-nntp-server}, which means that if you then @kbd{M-x
+gnus} later in the same Emacs session, Gnus will contact the same
+server.)
@findex gnus-group-browse-foreign-server
@kindex B (Group)
group. @code{dummy-variable} will be set to the result of the
@code{(ding)} form, but who cares?
+@item posting-style
+You can store additional posting style information for this group only
+here (@pxref{Posting Styles}). The format is that of an entry in the
+@code{gnus-posting-styles} alist, except that there's no regexp matching
+the group name (of course). Style elements in this group parameter will
+take precedence over the ones found in @code{gnus-posting-styles}.
+
+For instance, if you want a funky name and signature in this group only,
+instead of hacking @code{gnus-posting-styles}, you could put something
+like this in the group parameters:
+
+@example
+(posting-style
+ (name "Funky Name")
+ (signature "Funky Signature"))
+@end example
+
@end table
Use the @kbd{G p} command to edit group parameters of a group. You
Remove the process mark from all groups in the current topic
(@code{gnus-topic-unmark-topic}).
-@item RET
-@kindex RET (Topic)
-@findex gnus-topic-select-group
-@itemx SPACE
-Either select a group or fold a topic (@code{gnus-topic-select-group}).
-When you perform this command on a group, you'll enter the group, as
-usual. When done on a topic line, the topic will be folded (if it was
-visible) or unfolded (if it was folded already). So it's basically a
-toggling command on topics. In addition, if you give a numerical
-prefix, group on that level (and lower) will be displayed.
-
@item T TAB
@itemx TAB
@kindex T TAB (Topic)
``Un-indent'' the current topic so that it becomes a sub-topic of the
parent of its current parent (@code{gnus-topic-unindent}).
+@item RET
+@kindex RET (Topic)
+@findex gnus-topic-select-group
+@itemx SPACE
+Either select a group or fold a topic (@code{gnus-topic-select-group}).
+When you perform this command on a group, you'll enter the group, as
+usual. When done on a topic line, the topic will be folded (if it was
+visible) or unfolded (if it was folded already). So it's basically a
+toggling command on topics. In addition, if you give a numerical
+prefix, group on that level (and lower) will be displayed.
+
+@item C-c C-x
+@kindex C-c C-x (Topic)
+@findex gnus-topic-expire-articles
+Run all expirable articles in the current group or topic through the expiry
+process (if any) (@code{gnus-topic-expire-articles}).
+
@item C-k
@kindex C-k (Topic)
@findex gnus-topic-kill-group
"Your Name Here")
@end lisp
+Now, this is mostly useful for mail groups, where you have control over
+the @sc{nov} files that are created. However, if you can persuade your
+nntp admin to add:
+
+@example
+Newsgroups:full
+@end example
+
+to the end of her @file{overview.fmt} file, then you can use that just
+as you would the extra headers from the mail groups.
+
@node Summary Buffer Mode Line
@subsection Summary Buffer Mode Line
@findex gnus-thread-sort-by-number
@vindex gnus-thread-sort-functions
If you are using a threaded summary display, you can sort the threads by
-setting @code{gnus-thread-sort-functions}, which is a list of functions.
+setting @code{gnus-thread-sort-functions}, which can be either a single
+function, a list of functions, or a list containing functions and
+@code{(not some-function)} elements.
+
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-subject},
Each function takes two threads and returns non-@code{nil} if the first
thread should be sorted before the other. Note that sorting really is
-normally done by looking only at the roots of each thread. If you use
-more than one function, the primary sort key should be the last function
-in the list. You should probably always include
+normally done by looking only at the roots of each thread.
+
+If you use more than one function, the primary sort key should be the
+last function in the list. You should probably always include
@code{gnus-thread-sort-by-number} in the list of sorting
functions---preferably first. This will ensure that threads that are
equal with respect to the other sort criteria will be displayed in
ascending article order.
-If you would like to sort by score, then by subject, and finally by
-number, you could do something like:
+If you would like to sort by reverse score, then by subject, and finally
+by number, you could do something like:
@lisp
(setq gnus-thread-sort-functions
'(gnus-thread-sort-by-number
gnus-thread-sort-by-subject
- gnus-thread-sort-by-total-score))
+ (reverse gnus-thread-sort-by-total-score)))
@end lisp
The threads that have highest score will be displayed first in the
@cindex Latin 1
Treat M******** sm*rtq**t*s according to
@code{gnus-article-dumbquotes-map}
-(@code{gnus-article-treat-dumbquotes}).
+(@code{gnus-article-treat-dumbquotes}). Note that this function guesses
+whether a character is a sm*rtq**t* or not, so it should only be used
+interactively.
@item W w
@kindex W w (Summary)
Remove all white space from the beginning of all lines of the article
body (@code{gnus-article-strip-leading-space}).
+@item W E e
+@kindex W E e (Summary)
+@findex gnus-article-strip-trailing-space
+Remove all white space from the end of all lines of the article
+body (@code{gnus-article-strip-trailing-space}).
+
@end table
@xref{Customizing Articles} for how to wash articles automatically.
@cindex MIME decoding
@table @kbd
+@item M-t
+@kindex M-t (Summary)
+@findex gnus-summary-display-buttonized
+Toggle the buttonized display of the article buffer
+(@code{gnus-summary-toggle-display-buttonized}).
+
@item W M w
@kindex W M w (Summary)
Decode RFC2047-encoded words in the article headers
'("text/x-vcard"))
@end lisp
+@item gnus-unbuttonized-mime-types
+@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. The default value is @code{(".*/.*")}.
+
+@item gnus-article-mime-part-function
+@vindex gnus-article-mime-part-function
+For each @sc{mime} part, this function will be called with the @sc{mime}
+handle as the parameter. The function is meant to be used to allow
+users to gather information from the article (e. g., add Vcard info to
+the bbdb database) or to do actions based on parts (e. g., automatically
+save all jpegs into some directory).
+
+Here's an example function the does the latter:
+
+@lisp
+(defun my-save-all-jpeg-parts (handle)
+ (when (equal (car (mm-handle-type handle)) "image/jpeg")
+ (with-temp-buffer
+ (insert (mm-get-part handle))
+ (write-region (point-min) (point-max)
+ (read-file-name "Save jpeg to: ")))))
+(setq gnus-article-mime-part-function
+ 'my-save-all-jpeg-parts)
+@end lisp
+
@end table
Edit the group parameters (@pxref{Group Parameters}) of the current
group (@code{gnus-summary-edit-parameters}).
+@item M-C-g
+@kindex M-C-g (Summary)
+@findex gnus-summary-customize-parameters
+Customize the group parameters (@pxref{Group Parameters}) of the current
+group (@code{gnus-summary-customize-parameters}).
+
@end table
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.
+@item m
+The number of @sc{mime} parts in the article.
@end table
@vindex gnus-break-pages
Most people make most of their mail groups total-expirable, though.
+@vindex gnus-inhibit-user-auto-expire
+If @code{gnus-inhibit-user-auto-expire} is non-@code{nil}, user marking
+commands will not mark an article as expirable, even if the group has
+auto-expire turned on.
+
@node Washing Mail
@subsection Washing Mail
All files that match this regexp will be ignored. Nice to use to exclude
auto-save files and the like, which is what it does by default.
+@item nneething-include-files
+@vindex nneething-include-files
+Regexp saying what files to include in the group. If this variable is
+non-@code{nil}, only files matching this regexp will be included.
+
@item nneething-map-file
@vindex nneething-map-file
Name of the map files.
Ordered list of suffixes on picon file names to try. Defaults to
@code{("xpm" "gif" "xbm")} minus those not builtin your XEmacs.
+@item gnus-picons-setup-hook
+@vindex gnus-picons-setup-hook
+Hook run in the picon buffer, if that is displayed.
+
@item gnus-picons-display-article-move-p
@vindex gnus-picons-display-article-move-p
Whether to move point to first empty line when displaying picons. This
has only an effect if `gnus-picons-display-where' has value `article'.
+If @code{nil}, display the picons in the @code{From} and
+@code{Newsgroups} lines. This is the defailt.
+
@item gnus-picons-clear-cache-on-shutdown
@vindex gnus-picons-clear-cache-on-shutdown
Whether to clear the picons cache when exiting gnus. Gnus caches every
@itemize @bullet
@item
-Emacs 20.2 and up.
+Emacs 20.3 and up.
@item
XEmacs 20.4 and up.
@end itemize
-Gnus will absolutely not work on any Emacsen older than that. Not
-reliably, at least.
+This Gnus version will absolutely not work on any Emacsen older than
+that. Not reliably, at least. Older versions of Gnus may work on older
+Emacs versions.
There are some vague differences between Gnus on the various
platforms---XEmacs features more graphics (a logo and a toolbar)---but