\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Red Gnus 0.73 Manual
+@settitle Gnus 5.4.29 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Red Gnus 0.73 Manual
+@title Gnus 5.4.29 Manual
@author by Lars Magne Ingebrigtsen
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1995,96 Free Software Foundation, Inc.
+Copyright @copyright{} 1995,96,97 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@node Top
-@top The Red Gnus Newsreader
+@top The Gnus Newsreader
@ifinfo
spool or your mbox file. All at the same time, if you want to push your
luck.
-This manual corresponds to Red Gnus 0.73
+This manual corresponds to Gnus 5.4.29
@end ifinfo
@vindex gnus-init-file
When Gnus starts, it will read the @code{gnus-site-init-file}
-(@file{.../site-lisp/gnus.el} by default) and @code{gnus-init-file}
-(@file{~/.gnus.el} by default) files. These are normal Emacs Lisp files
-and can be used to avoid cluttering your @file{.emacs} and
-@file{site-init} files with Gnus stuff.
+(@file{.../site-lisp/gnus} by default) and @code{gnus-init-file}
+(@file{~/.gnus} by default) files. These are normal Emacs Lisp files
+and can be used to avoid cluttering your @file{~/.emacs} and
+@file{site-init} files with Gnus stuff. Gnus will also check for files
+with the same names as these, but with @file{.elc} and @file{.el}
+suffixes. In other words, if you have set @code{gnus-init-file} to
+@file{~/.gnus}, it will look for @file{~/.gnus.elc}, @file{~/.gnus.el},
+and finally @file{~/.gnus} (in this order).
+
@node Auto Save
In any case, if you use @code{some} or @code{nil}, you should definitely
kill all groups that you aren't interested in to speed things up.
+Note that this variable also affects active file retrieval from
+secondary select methods.
+
@node Startup Variables
@section Startup Variables
@vindex gnus-startup-hook
A hook that is run after starting up Gnus successfully.
+@item gnus-started-hook
+@vindex gnus-started-hook
+A hook that is run as the very last thing after starting up Gnus
+successfully.
+
@item gnus-check-bogus-newsgroups
@vindex gnus-check-bogus-newsgroups
If non-@code{nil}, Gnus will check for and delete all bogus groups at
be a letter. @sc{gnus} will call the function
@code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter
following @samp{%u}. The function will be passed a single dummy
-paratere as argument. The function should return a string, which will
+parameter as argument. The function should return a string, which will
be inserted into the buffer just like information from any other
specifier.
@end table
(@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}, and
-@code{forward}. If you run this command without a prefix, Gnus will
-guess at the file type. @xref{Document Groups}.
+@code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs},
+@code{rfc934}, @code{rfc822-forward}, and @code{forward}. If you run
+this command without a prefix, Gnus will guess at the file type.
+@xref{Document Groups}.
@item G w
@kindex G w (Group)
followup---except that if it is present in a news group, you'll get mail
group semantics when doing @kbd{f}.
+If you do an @kbd{a} command in a mail group and you don't have a
+@code{to-list} group parameter, one will be added automatically upon
+sending the message.
+
@item broken-reply-to
@cindex broken-reply-to
Elements like @code{(broken-reply-to . t)} signals that @code{Reply-To}
@item auto-expire
@cindex auto-expire
-If this symbol is present in the group parameter list, all articles that
-are read will be marked as expirable. For an alternative approach,
-@pxref{Expiring Mail}.
+If the group parameter has an element that looks like @code{(auto-expire
+. t)}, , all articles that are read will be marked as expirable. For an
+alternative approach, @pxref{Expiring Mail}.
@item total-expire
@cindex total-expire
-If this symbol is present, all read articles will be put through the
+If the group parameter has an element that looks like
+@code{(total-expire . t)}, all read articles will be put through the
expiry process, even if they are not marked as expirable. Use with
-caution.
+caution.
@item expiry-wait
@cindex expiry-wait
Also @pxref{Topic Parameters}.
+Here's an example group parameter list:
+
+@example
+((to-address . "ding@@ifi.uio.no")
+ (auto-expiry . t))
+@end example
+
@node Listing Groups
@section Listing Groups
@item H f
@kindex H f (Group)
-@itemx M-f
@findex gnus-group-fetch-faq
@vindex gnus-group-faq-directory
@cindex FAQ
@item D
@code{Date}.
@item d
-The @code{Date} in @code{YY-MMM} format.
+The @code{Date} in @code{DD-MMM} format.
@item o
The @code{Date} in @code{YYYYMMDDTHHMMSS} format.
@item M
original message (@code{gnus-summary-reply-with-original}). This
command uses the process/prefix convention.
+@item S w
+@kindex S w (Summary)
+@findex gnus-summary-wide-reply
+Mail a wide reply to the author of the current article
+(@code{gnus-summary-wide-reply}).
+
+@item S W
+@kindex S W (Summary)
+@findex gnus-summary-wide-reply-with-original
+Mail a wide reply to the current article and include the original
+message (@code{gnus-summary-reply-with-original}). This command uses
+the process/prefix convention.
+
@item S o m
@kindex S o m (Summary)
@findex gnus-summary-mail-forward
to the @code{root} account, you may want to resend it to
@code{postmaster}. Ordnung muß sein!
+This command understands the process/prefix convention
+(@pxref{Process/Prefix}).
+
@item S O m
@kindex S O m (Summary)
@findex gnus-uu-digest-mail-forward
Ask for a mark and then limit to all articles that have not been marked
with that mark (@code{gnus-summary-limit-to-marks}).
+@item / t
+@kindex / t (Summary)
+@findex gnus-summary-limit-to-age
+Ask for a number and then limit the summary buffer to articles that are
+older than (or equal to) that number of days
+(@code{gnus-summary-limit-to-marks}). If given a prefix, limit to
+articles that are younger than that number of days.
+
@item / n
@kindex / n (Summary)
@findex gnus-summary-limit-to-articles
@cindex threading
@cindex article threading
-Gnus threads articles by default. @dfn{To thread} is to put replies to
-articles directly after the articles they reply to---in a hierarchical
-fashion.
+Gnus threads articles by default. @dfn{To thread} is to put responses
+to articles directly after the articles they respond to---in a
+hierarchical fashion.
@menu
* Customizing Threading:: Variables you can change to affect the threading.
@cindex fuzzy article gathering
If you set this variable to the special value @code{fuzzy}, Gnus will
-use a fuzzy string comparison algorithm on the subjects.
+use a fuzzy string comparison algorithm on the subjects (@pxref{Fuzzy
+Matching}).
@item gnus-simplify-subject-fuzzy-regexp
@vindex gnus-simplify-subject-fuzzy-regexp
If non-@code{nil}, all threads will be hidden when the summary buffer is
generated.
+@item gnus-thread-expunge-below
+@vindex gnus-thread-expunge-below
+All threads that have a total score (as defined by
+@code{gnus-thread-score-function}) less than this number will be
+expunged. This variable is @code{nil} by default, which means that no
+threads are expunged.
+
@item gnus-thread-hide-killed
@vindex gnus-thread-hide-killed
if you kill a thread and this variable is non-@code{nil}, the subtree
@vindex gnus-thread-indent-level
This is a number that says how much each sub-thread should be indented.
The default is 4.
+
+@item gnus-parse-headers-hook
+@vindex gnus-parse-headers-hook
+Hook run before parsing any headers. The default value is
+@code{(gnus-decode-rfc1522)}, which means that QPized headers will be
+slightly decoded in a hackish way. This is likely to change in the
+future when Gnus becomes @sc{MIME}ified.
+
@end table
when doing thread commands. If this variable is @code{nil}, articles in
the same thread with different subjects will not be included in the
operation in question. If this variable is @code{fuzzy}, only articles
-that have subjects that are fuzzily equal will be included.
+that have subjects that are fuzzily equal will be included (@pxref{Fuzzy
+Matching}).
@node Sorting
function in @code{gnus-article-display-hook}, it should be run fairly
late and certainly after any highlighting.
+You can give the command a numerical prefix to specify the width to use
+when filling.
+
@item W c
@kindex W c (Summary)
@findex gnus-article-remove-cr
Do all the three commands above
(@code{gnus-article-strip-blank-lines}).
+@item W E s
+@kindex W E s (Summary)
+@findex gnus-article-strip-leading-space
+Remove all white space from the beginning of all lines of the article
+body (@code{gnus-article-strip-leading-space}).
+
@end table
@findex gnus-article-date-local
Display the date in the local timezone (@code{gnus-article-date-local}).
+@item W T s
+@kindex W T s (Summary)
+@vindex gnus-article-time-format
+@findex gnus-article-date-user
+@findex format-time-string
+Display the date using a user-defined format
+(@code{gnus-article-date-user}). The format is specified by the
+@code{gnus-article-time-format} variable, and is a string that's passed
+to @code{format-time-string}. See the documentation of that variable
+for a list possible format specs.
+
@item W T e
@kindex W T e (Summary)
@findex gnus-article-date-lapsed
@cindex PostScript
@cindex printing
@kindex A P (Summary)
+@vindex gnus-ps-print-hook
@findex gnus-summary-print-article
Generate and print a PostScript image of the article buffer
-(@code{gnus-summary-print-article}).
+(@code{gnus-summary-print-article}). @code{gnus-ps-print-hook} will be
+run just before printing the buffer.
@end table
@kindex B r (Summary)
@findex gnus-summary-respool-article
Respool the mail article (@code{gnus-summary-move-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.
@item B w
@itemx e
called before doing much of the exiting, and calls
@code{gnus-summary-expire-articles} by default.
@code{gnus-summary-exit-hook} is called after finishing the exiting
-process.
+process. @code{gnus-group-no-more-groups-hook} is run when returning to
+group mode having no more (unread) groups.
@item Z E
@itemx Q
@findex gnus-summary-prev-group
Exit the group and go to the previous group
(@code{gnus-summary-prev-group}).
+
+@item Z s
+@kindex Z s (Summary)
+@findex gnus-summary-save-newsrc
+Save the current number of read/marked articles in the dribble buffer
+and then save the dribble buffer (@code{gnus-summary-save-newsrc}). If
+given a prefix, also save the @file{.newsrc} file(s). Using this
+command will make exit without updating (the @kbd{Q} command) worthless.
@end table
@vindex gnus-exit-group-hook
@cindex archived messages
@cindex sent messages
-Gnus provides a few different methods for storing the mail you send.
-The default method is to use the @dfn{archive virtual server} to store
-the mail. If you want to disable this completely, you should set
-@code{gnus-message-archive-group} to @code{nil}.
+Gnus provides a few different methods for storing the mail and news you
+send. The default method is to use the @dfn{archive virtual server} to
+store the messages. If you want to disable this completely, the
+@code{gnus-message-archive-group} variable should be @code{nil}, which
+is the default.
@vindex gnus-message-archive-method
@code{gnus-message-archive-method} says what virtual server Gnus is to
nice---@samp{misc-mail-september-1995}, or whatever. New messages will
continue to be stored in the old (now empty) group.
-That's the default method of archiving sent mail. Gnus also a different
-way for the people who don't like the default method. In that case you
-should set @code{gnus-message-archive-group} to @code{nil}; this will
-disable archiving.
+That's the default method of archiving sent messages. Gnus also a
+different way for the people who don't like the default method. In that
+case you should set @code{gnus-message-archive-group} to @code{nil};
+this will disable archiving.
XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to
use a different value for @code{gnus-message-archive-group} there.
message in, you can set this variable to a function that checks the
current newsgroup name and then returns a suitable group name (or list
of names).
+
+This variable can be used instead of @code{gnus-message-archive-group},
+but the latter is the preferred method.
@end table
* Server Commands:: Commands to manipulate servers.
* Example Methods:: Examples server specifications.
* Creating a Virtual Server:: An example session.
+* Server Variables:: Which variables to set.
* Servers and Methods:: You can use server names as select methods.
* Unavailable Servers:: Some servers you try to contact may be down.
@end menu
(nnmh-get-new-mail nil))
@end lisp
+If you are behind a firewall and only have access to the @sc{nntp}
+server from the firewall machine, you can instruct Gnus to @code{rlogin}
+on the firewall machine and telnet from there to the @sc{nntp} server.
+Doing this can be rather fiddly, but your virtual server definition
+should probably look something like this:
+
+@lisp
+(nntp "firewall"
+ (nntp-address "the.firewall.machine")
+ (nntp-open-connection-function nntp-open-rlogin)
+ (nntp-end-of-line "\n")
+ (nntp-rlogin-parameters
+ ("telnet" "the.real.nntp.host" "nntp")))
+@end lisp
+
+
@node Creating a Virtual Server
@subsection Creating a Virtual Server
buffer, and you should be able to enter any of the groups displayed.
+@node Server Variables
+@subsection Server Variables
+
+One sticky point when defining variables (both on backends and in Emacs
+in general) is that some variables are typically initialized from other
+variables when the definition of the variables is being loaded. If you
+change the "base" variable after the variables have been loaded, you
+won't change the "derived" variables.
+
+This typically affects directory and file variables. For instance,
+@code{nnml-directory} is @file{~/Mail/} by default, and all @code{nnml}
+directory variables are initialized from that variable, so
+@code{nnml-active-file} will be @file{~/Mail/active}. If you define a
+new virtual @code{nnml} server, it will @emph{not} suffice to set just
+@code{nnml-directory}---you have to explicitly set all the file
+variables to be what you want them to be. For a complete list of
+variables for each backend, see each backend's section later in this
+manual, but here's an example @code{nnml} definition:
+
+@lisp
+(nnml "public"
+ (nnml-directory "~/my-mail/")
+ (nnml-active-file "~/my-mail/active")
+ (nnml-newsgroups-file "~/my-mail/newsgroups"))
+@end lisp
+
+
@node Servers and Methods
@subsection Servers and Methods
@findex nntp-open-rlogin
@findex nntp-open-network-stream
-@item nntp-open-server-function
-@vindex nntp-open-server-function
+@item nntp-open-connection-function
+@vindex nntp-open-connection-function
This function is used to connect to the remote system. Two pre-made
functions are @code{nntp-open-network-stream}, which is the default, and
simply connects to some port or other on the remote system. The other
@item nntp-rlogin-parameters
@vindex nntp-rlogin-parameters
If you use @code{nntp-open-rlogin} as the
-@code{nntp-open-server-function}, this list will be used as the
+@code{nntp-open-connection-function}, this list will be used as the
parameter list given to @code{rsh}.
@item nntp-end-of-line
mail belongs in that group.
The last of these groups should always be a general one, and the regular
-expression should @emph{always} be @samp{} so that it matches any
-mails that haven't been matched by any of the other regexps.
+expression should @emph{always} be @samp{} so that it matches any mails
+that haven't been matched by any of the other regexps. (These rules are
+processed from the beginning of the alist toward the end. The first
+rule to make a match will "win", unless you have crossposting enabled.
+In that case, all matching rules will "win".)
If you like to tinker with this yourself, you can set this variable to a
function of your choice. This function will be called without any
@code{t} and be prompted for the password, or set
@code{nnmail-pop-password} to the password itself.
+@code{nnmail-spool-file} can also be a list of mailboxes.
+
Your Emacs has to have been configured with @samp{--with-pop} before
compilation. This is the default, but some installations have it
switched off.
just before the splitting based on these headers is done. The hook is
free to modify the buffer contents in any way it sees fit---the buffer
is discarded after the splitting has been done, and no changes performed
-in the buffer will show up in any files. @code{article-decode-rfc1522}
+in the buffer will show up in any files. @code{gnus-article-decode-rfc1522}
is one likely function to add to this hook.
@vindex nnmail-pre-get-new-mail-hook
@cindex incoming mail files
@cindex deleting incoming files
If non-@code{nil}, the mail backends will delete the temporary incoming
-file after splitting mail into the proper groups. This is @code{nil} by
-default for reasons of security.
+file after splitting mail into the proper groups. This is @code{t} by
+default.
-Since Red Gnus is an alpha release, it is to be expected to lose mail.
+@c This is @code{nil} by
+@c default for reasons of security.
+
+@c Since Red Gnus is an alpha release, it is to be expected to lose mail.
(No Gnus release since (ding) Gnus 0.10 (or something like that) have
-lost mail, I think, but that's not the point.) By not deleting the
-Incoming* files, one can be sure to not lose mail -- if Gnus totally
-whacks out, one can always recover what was lost.
+lost mail, I think, but that's not the point. (Except certain versions
+of Red Gnus.)) By not deleting the Incoming* files, one can be sure to
+not lose mail -- if Gnus totally whacks out, one can always recover what
+was lost.
Delete the @file{Incoming*} files at will.
If you use @code{procmail} to split things directory into an @code{nnmh}
directory (which you shouldn't do), you should set
@code{nnmail-keep-last-article} to non-@code{nil} to prevent Gnus from
-ever expiring the final article in a mail newsgroup. This is quite,
-quite important.
+ever expiring the final article (i. e., the article with the highest
+article number) in a mail newsgroup. This is quite, quite important.
Here's an example setup: The incoming spools are located in
@file{~/incoming/} and have @samp{""} as suffixes (i. e., the incoming
@vindex nnmail-expiry-wait
The @code{nnmail-expiry-wait} variable supplies the default time an
-expirable article has to live. The default is seven days.
+expirable article has to live. Gnus starts counting days from when the
+message @emph{arrived}, not from when it was sent. The default is seven
+days.
Gnus also supplies a function that lets you fine-tune how long articles
are to live, based on what group they are in. Let's say you want to
stored.) If all this sounds scary to you, you can set
@code{nnmail-treat-duplicates} to @code{warn} (which is what it is by
default), and @code{nnmail} won't delete duplicate mails. Instead it
-will generate a brand new @code{Message-ID} for the mail and insert a
-warning into the head of the mail saying that it thinks that this is a
-duplicate of a different message.
+will insert a warning into the head of the mail saying that it thinks
+that this is a duplicate of a different message.
This variable can also be a function. If that's the case, the function
will be called from a buffer narrowed to the message in question with
@item nndoc-article-type
@vindex nndoc-article-type
This should be one of @code{mbox}, @code{babyl}, @code{digest},
-@code{mmdf}, @code{forward}, @code{news}, @code{rnews},
-@code{mime-digest}, @code{clari-briefs}, or @code{guess}.
+@code{mmdf}, @code{forward}, @code{rfc934}, @code{rfc822-forward},
+@code{news}, @code{rnews}, @code{mime-digest}, @code{clari-briefs}, or
+@code{guess}.
@item nndoc-post-type
@vindex nndoc-post-type
Substring matching.
@item f
-Fuzzy matching.
+Fuzzy matching (@pxref{Fuzzy Matching}).
@item r
Regexp matching
@vindex gnus-summary-default-score
Default score of an article, which is 0 by default.
+@item gnus-summary-expunge-below
+@vindex gnus-summary-expunge-below
+Don't display the summary lines of articles that have scores lower than
+this variable. This is @code{nil} by default, which means that no
+articles will be hidden.
+
@item gnus-score-over-mark
@vindex gnus-score-over-mark
Mark (in the third column) used for articles with a score over the
element}. This date says when the last time this score entry matched,
which provides a mechanism for expiring the score entries. It this
element is not present, the score entry is permanent. The date is
-represented by the number of days since December 31, 1 ce.
+represented by the number of days since December 31, 1 BCE.
@item
If the fourth element is present, it should be a symbol---the @dfn{type
@code{gnus-psychoanalyze-user} command to go through the rules and see
what words you like and what words you don't like. Or perhaps not.
+Note that the adaptive word scoring thing is highly experimental and is
+likely to change in the future. Initial impressions seem to indicate
+that it's totally useless as it stands. Some more work (involving more
+rigorous statistical methods) will have to be done to make this useful.
+
@node Home Score File
@section Home Score File
myself:
@lisp
-("references"
- "<x6[0-9a-z]+\\.fsf@@.*eyesore.no>" 1000 nil r)
+("references"
+ ("<x6[0-9a-z]+\\.fsf@@.*eyesore.no>" 1000 nil r))
@end lisp
Whether it's the first two or first three characters that are ``yours''
* Undo:: Some actions can be undone.
* Moderation:: What to do if you're a moderator.
* XEmacs Enhancements:: There are more pictures and stuff under XEmacs.
+* Fuzzy Matching:: What's the big fuzz?
* Various Various:: Things that are really various.
@end menu
@code{browse}, @code{message}, @code{pick}, @code{info},
@code{summary-faq}, @code{edit-group}, @code{edit-server},
@code{edit-score}, @code{post}, @code{reply}, @code{forward},
-@code{reply-yank}, @code{mail-bounce}, @code{draft},
-@code{pipe}, @code{bug}, @code{compose-bounce}.
+@code{reply-yank}, @code{mail-bounce}, @code{draft}, @code{pipe},
+@code{bug}, @code{compose-bounce}.
Note that the @code{message} key is used for both
@code{gnus-group-mail} and @code{gnus-summary-mail-other-window}. If
If this variable is @code{nil} (which is the default), the mode line
strings won't be chopped off, and they won't be padded either.
+Note that the default is unlikely to be desirable, as even the
+percentage complete in the buffer may be crowded off the mode line;
+the user should configure this variable appropriately for their
+configuration.
@node Highlighting and Menus
This is the face (i.e., font) used for mouse highlighting in Gnus. No
mouse highlights will be done if @code{gnus-visual} is @code{nil}.
-@item gnus-display-type
-@vindex gnus-display-type
-This variable is symbol indicating the display type Emacs is running
-under. The symbol should be one of @code{color}, @code{grayscale} or
-@code{mono}. If Gnus guesses this display attribute wrongly, either set
-this variable in your @file{~/.emacs} or set the resource
-@code{Emacs.displayType} in your @file{~/.Xdefaults}.
-
-@item gnus-background-mode
-@vindex gnus-background-mode
-This is a symbol indicating the Emacs background brightness. The symbol
-should be one of @code{light} or @code{dark}. If Gnus guesses this
-frame attribute wrongly, either set this variable in your @file{~/.emacs} or
-set the resource @code{Emacs.backgroundMode} in your @file{~/.Xdefaults}.
-`gnus-display-type'.
@end table
There are hooks associated with the creation of all the different menus:
@item gnus-nocem-groups
@vindex gnus-nocem-groups
Gnus will look for NoCeM messages in the groups in this list. The
-default is @code{("alt.nocem.misc" "news.admin.net-abuse.announce")}.
+default is @code{("news.lists.filters" "news.admin.net-abuse.bulletins"
+"alt.nocem.misc" "news.admin.net-abuse.announce")}.
@item gnus-nocem-issuers
@vindex gnus-nocem-issuers
You do not have to heed NoCeM messages from all these people---just the
ones you want to listen to.
+@item gnus-nocem-verifyer
+@vindex gnus-nocem-verifyer
+@findex mc-verify
+This should be a function for verifying that the NoCeM issuer is who she
+says she is. The default is @code{mc-verify}, which is a Mailcrypt
+function. If this is too slow and you don't care for verification
+(which may be dangerous), you can set this variable to @code{nil}.
+
@item gnus-nocem-directory
@vindex gnus-nocem-directory
This is where Gnus will store its NoCeM cache files. The default is
@end table
+@node Fuzzy Matching
+@section Fuzzy Matching
+@cindex fuzzy matching
+
+Gnus provides @dfn{fuzzy matching} of @code{Subject} lines when doing
+things like scoring, thread gathering and thread comparison.
+
+As opposed to regular expression matching, fuzzy matching is very fuzzy.
+It's so fuzzy that there's not even a definition of what @dfn{fuzziness}
+means, and the implementation has changed over time.
+
+Basically, it tries to remove all noise from lines before comparing.
+@samp{Re: }, parenthetical remarks, white space, and so on, are filtered
+out of the strings before comparing the results. This often leads to
+adequate results---even when faced with strings generated by text
+manglers masquerading as newsreaders.
+
+
@node Various Various
@section Various Various
@cindex mode lines
@table @code
+@item gnus-home-directory
+All Gnus path variables will be initialized from this variable, which
+defaults to @file{~/}.
+
@item gnus-directory
@vindex gnus-directory
-All Gnus directories will be initialized from this variable, which
-defaults to the @samp{SAVEDIR} environment variable, or @file{~/News/}
-if that variable isn't set.
+Most Gnus storage path variables will be initialized from this variable,
+which defaults to the @samp{SAVEDIR} environment variable, or
+@file{~/News/} if that variable isn't set.
@item gnus-default-directory
@vindex gnus-default-directory
``@sc{gnus}''. New vs. old.
The first ``proper'' release of Gnus 5 was done in November 1995 when it
-was included in the Emacs 19.30 distribution.
+was included in the Emacs 19.30 distribution (132 (ding) Gnus releases
+plus 15 Gnus 5.0 releases).
-In May 1996 the next Gnus generation (aka. ``September Gnus'') was
-released under the name ``Gnus 5.2''.
+In May 1996 the next Gnus generation (aka. ``September Gnus'' (after 99
+releases)) was released under the name ``Gnus 5.2'' (40 releases).
-On July 28th 1996 work on Red Gnus was begun.
+On July 28th 1996 work on Red Gnus was begun, and it was released on
+January 25th 1997 (after 84 releases) as ``Gnus 5.4''.
If you happen upon a version of Gnus that has a name that is prefixed --
-``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Mamey Sapote Gnus''
--- don't panic. Don't let it know that you're frightened. Back away.
+``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' --
+don't panic. Don't let it know that you're frightened. Back away.
Slowly. Whatever you do, don't run. Walk away, calmly, until you're
out of its reach. Find a proper released version of Gnus and snuggle up
to that instead.
coming from @code{tin} and @code{Netscape} I know not to use either of
those for posting articles. I would not have known that if it wasn't
for the @code{X-Newsreader} header.
-
-@item References
-Gnus does line breaking on this header. I infer from RFC1036 that being
-conservative in what you output is not creating 5000-character lines, so
-it seems like a good idea to me. However, this standard-to-be says that
-whitespace in the @code{References} header is to be preserved, so... It
-doesn't matter one way or the other to Gnus, so if somebody tells me
-what The Way is, I'll change it. Or not.
@end table
@end table
Also thanks to the following for patches and stuff:
+Adrian Aichner,
Peter Arius,
+Matt Armstrong,
Marc Auslander,
+Chris Bone,
Mark Borges,
Lance A. Brown,
Kees de Bruin,
Kevin Buhr,
Alastair Burt,
Joao Cachopo,
+Zlatko Calusic,
Massimo Campostrini,
Michael R. Cook,
Glenn Coombs,
Frank D. Cringle,
Geoffrey T. Dairiki,
+Andre Deparade,
Ulrik Dickow,
Dave Disser,
Joev Dubach,
D. Hall,
Magnus Hammerin,
Raja R. Harinath,
+Hisashige Kenji, @c Hisashige
Marc Horowitz,
+François Felix Ingrand,
Ishikawa Ichiro, @c Ishikawa
-Francois Felix Ingrand,
Lee Iverson,
+Rajappa Iyer,
Randell Jesup,
Fred Johansen,
+Greg Klanderman,
+Karl Kleinpaste,
+Peter Skov Knudsen,
+Shuhei Kobayashi, @c Kobayashi
Thor Kristoffersen,
Jens Lautenbacher,
Carsten Leonhardt,
+James LewisMoss,
Christian Limpach,
+Markus Linnala,
+Dave Love,
Tonny Madsen,
Shlomo Mahlab,
Nat Makarevitch,
+David Martin,
+Gordon Matzigkeit,
Timo Metzemakers,
Richard Mlynarik,
Lantz Moore,
Morioka Tomohiko, @c Morioka
+Erik Toubro Nielsen,
Hrvoje Niksic,
Andy Norman,
C. R. Oldham,
William Perry,
Stephen Peters,
Ulrich Pfeifer,
+John McClary Prevost,
Colin Rafferty,
Bart Robinson,
+Jason Rumney,
+Loren Schall,
+Dan Schmidt,
Ralph Schleicher,
+Philippe Schnoebelen,
Randal L. Schwartz,
Danny Siu,
Paul D. Smith,
Michael Sperber,
Richard Stallman,
Greg Stark,
+Paul Stodghill,
Kurt Swanson,
Samuel Tardieu,
Teddy,
and
Katsumi Yamaoka. @c Yamaoka
+For a full overview of what each person has done, the ChangeLogs
+included in the Gnus alpha distributions should give ample reading
+(550kB and counting).
Apologies to everybody that I've forgotten, of which there are many, I'm
sure.
@menu
* 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:: The future---Gnus 5.4/5.5.
+* Red Gnus:: Third time best---Gnus 5.4/5.5.
@end menu
These lists are, of course, just @emph{short} overviews of the
on successful article retrievement.
-@item (nnchoke-open-group GROUP &optional SERVER)
-
-Make @var{group} the current group.
-
-There should be no data returned by this function.
-
-
@item (nnchoke-request-group GROUP &optional SERVER FAST)
Get data on @var{group}. This function also has the side effect of
A Gnus group info (@pxref{Group Info}) is handed to the backend for
alterations. This comes in handy if the backend really carries all the
-information (as is the case with virtual an imap groups). This function
-may alter the info in any manner it sees fit, and should return the
-(altered) group info. This function may alter the group info
-destructively, so no copying is needed before boogeying.
+information (as is the case with virtual and imap groups). This
+function should destructively alter the info to suit its needs, and
+should return the (altered) group info.
There should be no result data from this function.