2001-09-04 Katsumi Yamaoka <yamaoka@jpl.org>
[gnus] / texi / gnus.texi
index fc49c2f..8eee5b5 100644 (file)
@@ -660,6 +660,7 @@ Getting Mail
 * 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
 
@@ -2768,7 +2769,7 @@ See also @code{gnus-group-charset-alist}.
 
 @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.
 
@@ -11475,6 +11476,7 @@ course.
 * 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
 
 
@@ -13439,6 +13441,35 @@ cases, it makes a lot of sense to let the Gnus Agent (@pxref{Gnus
 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
@@ -20020,6 +20051,9 @@ well as numerous other things).
 @item
 Luis Fernandes---design and graphics.
 
+@item
+Joe Reiss---creator of the smiley faces.
+
 @item
 Justin Sheehy--the FAQ maintainer.
 
@@ -22097,8 +22131,18 @@ description-buffer = *description-line
 @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)
@@ -22388,6 +22432,7 @@ Below is a slightly shortened version of the @code{nndir} backend.
 @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.
@@ -22401,6 +22446,8 @@ Here's an example:
 (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