* 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
@item ignored-charsets
@cindex ignored-charset
-Elements that look like @code{(ignored-charsets x-known iso-8859-1)}
+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.
* 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
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