* Duplicates:: Dealing with duplicated mail.
* Not Reading Mail:: Using mail backends for reading other files.
* Choosing a Mail Backend:: Gnus can read a variety of mail formats.
+* Archiving Mail:: How to backup your mail.
Mail Sources
All adaptive score entries will be put into this file.
@item admin-address
+@cindex admin-address
When unsubscribing from a mailing list you should never send the
unsubscription notice to the mailing list itself. Instead, you'd send
messages to the administrative address. This parameter allows you to
put the admin address somewhere convenient.
@item display
+@cindex display
Elements that look like @code{(display . MODE)} say which articles to
display on entering the group. Valid values are:
Here are some examples:
@table @code
-@item [unread]
-Display only unread articles.
+@item [read]
+Display only read articles.
@item [not expire]
Display everything except expirable articles.
-@item [and (not reply) (not expirable)]
+@item [and (not reply) (not expire)]
Display everything except expirable and articles you've already
responded to.
@end table
The available operators are @code{not}, @code{and} and @code{or}.
Predicates include @code{tick}, @code{unsend}, @code{undownload},
-@code{unread}, @code{read}, @code{dormant}, @code{}, @code{}, @code{},
-@code{expire}, @code{reply}, @code{killed}, @code{bookmark},
-@code{score}, @code{save}, @code{cache}, @code{forward}, and
-@code{recent}.
+@code{read}, @code{dormant}, @code{expire}, @code{reply},
+@code{killed}, @code{bookmark}, @code{score}, @code{save},
+@code{cache}, @code{forward}, @code{seen} and @code{recent}.
@end table
+The @code{display} parameter works by limiting the summary buffer to
+the subset specified. You can pop the limit by using the @kbd{/ w}
+command (@pxref{Limiting}).
@item comment
+@cindex comment
Elements that look like @code{(comment . "This is a comment")}
are arbitrary comments on the group. They are currently ignored by
Gnus, but provide a place for you to store information on particular
groups.
@item charset
+@cindex 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.
See also @code{gnus-group-charset-alist}.
@item ignored-charsets
-Elements that look like @code{(ignored-charsets x-known iso-8859-1)}
+@cindex ignored-charset
+Elements that look like @code{(ignored-charsets x-unknown iso-8859-1)}
will make @code{iso-8859-1} and @code{x-unknown} ignored; that is, the
default charset will be used for decoding articles.
See also @code{gnus-group-ignored-charsets-alist}.
@item posting-style
+@cindex 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
instead of @code{gnus-post-method}.
@item banner
+@cindex banner
An item like @code{(banner . "regex")} causes any part of an article
that matches the regular expression "regex" to be stripped. Instead of
"regex", you can also use the symbol @code{signature} which strips the
@item L
Number of lines in the article.
@item c
-Number of characters in the article. This specifier is not supported in some
-methods (like nnfolder).
+Number of characters in the article. This specifier is not supported
+in some methods (like nnfolder).
@item I
Indentation based on thread level (@pxref{Customizing Threading}).
@item B
-A complex trn-style thread tree, showing response-connecting trace lines.
+A complex trn-style thread tree, showing response-connecting trace
+lines.
@item T
Nothing if the article is a root and lots of spaces if it isn't (it
pushes everything after it off the screen).
Limit the summary buffer to articles that have a score at or above some
score (@code{gnus-summary-limit-to-score}).
+@item / p
+@kindex / p (Summary)
+@findex gnus-summary-limit-to-display-parameter
+Limit the summary buffer to articles that satisfy the @code{display}
+group parameter predicate
+(@code{gnus-summary-limit-to-display-parameter}). See @pxref{Group
+Parameters} for more on this predicate.
+
@item / E
@itemx M S
@kindex M S (Summary)
* Duplicates:: Dealing with duplicated mail.
* Not Reading Mail:: Using mail backends for reading other files.
* Choosing a Mail Backend:: Gnus can read a variety of mail formats.
+* Archiving Mail:: How to backup your mail.
@end menu
@sc{nov} databases for the incoming mails. This makes it the fastest
backend when it comes to reading mail.
+@cindex self contained nnml servers
+When the marks file is used (which it is by default), @code{nnml}
+servers have the property that you may backup them using @code{tar} or
+similar, and later be able to restore them into Gnus (by adding the
+proper @code{nnml} server) and have all your marks be preserved. Marks
+for a group is usually stored in the @code{.marks} file (but see
+@code{nnml-marks-file-name}) within each @code{nnml} group's directory.
+Individual @code{nnml} groups are also possible to backup, use @kbd{G m}
+to restore the group (after restoring the backup into the nnml
+directory).
+
Virtual server settings:
@table @code
@vindex nnml-directory
All @code{nnml} directories will be placed under this directory.
The default is the value of `message-directory' (whose default value is
-@file{~/Mail})
+@file{~/Mail}).
@item nnml-active-file
@vindex nnml-active-file
@item nnml-get-new-mail
@vindex nnml-get-new-mail
If non-@code{nil}, @code{nnml} will read incoming mail. The default is
-@code{t}
+@code{t}.
@item nnml-nov-is-evil
@vindex nnml-nov-is-evil
If non-@code{nil}, this backend will ignore any @sc{nov} files. The
-default is @code{nil}
+default is @code{nil}.
@item nnml-nov-file-name
@vindex nnml-nov-file-name
@vindex nnml-prepare-save-mail-hook
Hook run narrowed to an article before saving.
+@item nnml-marks-is-evil
+@vindex nnml-marks-is-evil
+If non-@code{nil}, this backend will ignore any @sc{marks} files. The
+default is @code{nil}.
+
+@item nnml-marks-file-name
+@vindex nnml-marks-file-name
+The name of the @sc{marks} files. The default is @file{.marks}.
+
@end table
@findex nnml-generate-nov-databases
@cindex mh-e mail spool
@code{nnmh} is just like @code{nnml}, except that is doesn't generate
-@sc{nov} databases and it doesn't keep an active file. This makes
-@code{nnmh} a @emph{much} slower backend than @code{nnml}, but it also
-makes it easier to write procmail scripts for.
+@sc{nov} databases and it doesn't keep an active file or marks file.
+This makes @code{nnmh} a @emph{much} slower backend than @code{nnml},
+but it also makes it easier to write procmail scripts for.
Virtual server settings:
will add extra headers to keep track of article numbers and arrival
dates.
+@cindex self contained nnfolder servers
+When the marks file is used (which it is by default), @code{nnfolder}
+servers have the property that you may backup them using @code{tar} or
+similar, and later be able to restore them into Gnus (by adding the
+proper @code{nnfolder} server) and have all your marks be preserved.
+Marks for a group is usually stored in a file named as the mbox file
+with @code{.mrk} concatenated to it (but see
+@code{nnfolder-marks-file-suffix}) within the @code{nnfolder} directory.
+Individual @code{nnfolder} groups are also possible to backup, use
+@kbd{G m} to restore the group (after restoring the backup into the
+@code{nnfolder} directory).
+
Virtual server settings:
@table @code
If non-@code{nil}, this backend will ignore any @sc{nov} files. The
default is @code{nil}.
+@item nnfolder-nov-file-suffix
+@vindex nnfolder-nov-file-suffix
+The extension for @sc{nov} files. The default is @file{.nov}.
+
+@item nnfolder-marks-is-evil
+@vindex nnfolder-marks-is-evil
+If non-@code{nil}, this backend will ignore any @sc{marks} files. The
+default is @code{nil}.
+
+@item nnfolder-marks-file-suffix
+@vindex nnfolder-marks-file-suffix
+The extension for @sc{marks} files. The default is @file{.mrk}.
+
@end table
Unplugged}) handle downloading articles, and then you can read them at
leisure from your local disk. No more World Wide Wait for you.
+@node Archiving Mail
+@subsection Archiving Mail
+@cindex archiving mail
+@cindex backup of mail
+
+Some of the backends, notably nnml and nnfolder, now actually store
+the article marks with each group. For these servers, archiving and
+restoring a group while preserving marks is fairly simple.
+
+(Preserving the group level and group parameters as well still
+requires ritual dancing and sacrifices to the @code{.newsrc.eld} deity
+though.)
+
+To archive an entire @code{nnml} or @code{nnfolder} server, take a
+recursive copy of the server directory. There is no need to shut down
+Gnus, so archiving may be invoked by @code{cron} or similar. You
+restore the data by restoring the directory tree, and adding a server
+definition pointing to that directory in Gnus. The @ref{Article
+Backlog}, @ref{Asynchronous Fetching} and other things might interfer
+with overwriting data, so you may want to shut down Gnus before you
+restore the data.
+
+It is also possible to archive individual @code{nnml} or
+@code{nnfolder} groups, while preserving marks. For @code{nnml}, you
+copy all files in the group's directory. For @code{nnfolder} you need
+to copy both the base folder file itself (@code{FOO}, say), and the
+marks file (@code{FOO.mrk} in this example). Restoring the group is
+done with @kbd{G m} from the Group buffer. The last step makes Gnus
+notice the new directory.
@node Web Searches
@subsection Web Searches
@item
Luis Fernandes---design and graphics.
+@item
+Joe Reiss---creator of the smiley faces.
+
@item
Justin Sheehy--the FAQ maintainer.
@item (nnchoke-request-newgroups DATE &optional SERVER)
The result data from this function should be all groups that were
-created after @samp{date}, which is in normal human-readable date
-format. The data should be in the active buffer format.
+created after @samp{date}, which is in normal human-readable date format
+(i.e., the date format used in mail and news headers, and returned by
+the function @code{message-make-date} by default). The data should be
+in the active buffer format.
+
+It is okay for this function to return `too many' groups; some backends
+might find it cheaper to return the full list of groups, rather than
+just the new groups. But don't do this for backends with many groups.
+Normally, if the user creates the groups herself, there won't be too
+many groups, so nnml and the like are probably safe. But for backends
+like nntp, where the groups have been created by the server, it is quite
+likely that there can be many groups.
@item (nnchoke-request-create-group GROUP &optional SERVER)
@subsubsection Hooking New Backends Into Gnus
@vindex gnus-valid-select-methods
+@findex gnus-declare-backend
Having Gnus start using your new backend is rather easy---you just
declare it with the @code{gnus-declare-backend} functions. This will
enter the backend into the @code{gnus-valid-select-methods} variable.
(gnus-declare-backend "nnchoke" 'mail 'respool 'address)
@end lisp
+The above line would then go in the @file{nnchoke.el} file.
+
The abilities can be:
@table @code