Synch with Oort Gnus.
authoryamaoka <yamaoka>
Tue, 28 Aug 2001 00:16:51 +0000 (00:16 +0000)
committeryamaoka <yamaoka>
Tue, 28 Aug 2001 00:16:51 +0000 (00:16 +0000)
lisp/ChangeLog
lisp/nnfolder.el
lisp/nnml.el
texi/ChangeLog
texi/gnus-ja.texi
texi/gnus.texi

index 1739e1f..3f3acd2 100644 (file)
@@ -1,3 +1,12 @@
+2001-08-27  Simon Josefsson  <jas@extundo.com>
+
+       * nnml.el (nnml-request-update-info): Fix message.
+       (nnml-open-marks): Ditto.
+
+       * nnfolder.el (nnfolder-request-set-mark) 
+       (nnfolder-request-update-info): Don't open group.
+       (nnfolder-open-marks): Fix message.
+
 2001-08-25  Simon Josefsson  <jas@extundo.com>
 
        * nnfolder.el (nnfolder-save-marks): Don't create directory named
index 2e89fc9..086e1e2 100644 (file)
@@ -1144,7 +1144,9 @@ This command does not work if you use short group names."
     (nnheader-insert-nov headers)))
 
 (deffoo nnfolder-request-set-mark (group actions &optional server)
-  (nnfolder-possibly-change-group group server)
+  (when (and server
+            (not (nnfolder-server-opened server)))
+    (nnfolder-open-server server))
   (unless nnfolder-marks-is-evil
     (nnfolder-open-marks group server)
     (dolist (action actions)
@@ -1164,8 +1166,12 @@ This command does not work if you use short group names."
   nil)
 
 (deffoo nnfolder-request-update-info (group info &optional server)
-  (nnfolder-possibly-change-group group server)
+  ;; Change servers.
+  (when (and server
+            (not (nnfolder-server-opened server)))
+    (nnfolder-open-server server))
   (unless nnfolder-marks-is-evil
+    (nnheader-message 8 "Updating marks for %s..." group)
     (nnfolder-open-marks group server)
     ;; Update info using `nnfolder-marks'.
     (mapcar (lambda (pred)
@@ -1218,7 +1224,7 @@ This command does not work if you use short group names."
                   (gnus-group-prefixed-name
                    group
                    (gnus-server-to-method (format "nnfolder:%s" server))))))
-       (nnheader-message 6 "Bootstrapping nnfolder marks...")
+       (nnheader-message 7 "Bootstrapping marks for %s..." group)
        (setq nnfolder-marks (gnus-info-marks info))
        (push (cons 'read (gnus-info-read info)) nnfolder-marks)
        (nnfolder-save-marks group server)))))
index 7e15778..6a928a0 100644 (file)
@@ -904,6 +904,7 @@ check twice.")
 (deffoo nnml-request-update-info (group info &optional server)
   (nnml-possibly-change-directory group server)
   (unless nnml-marks-is-evil
+    (nnheader-message 8 "Updating marks for %s..." group)
     (nnml-open-marks group server)
     ;; Update info using `nnml-marks'.
     (mapcar (lambda (pred)
@@ -956,7 +957,7 @@ check twice.")
                   (gnus-group-prefixed-name
                    group
                    (gnus-server-to-method (format "nnml:%s" server))))))
-       (nnheader-message 6 "Bootstrapping nnml marks...")
+       (nnheader-message 7 "Bootstrapping marks for %s..." group)
        (setq nnml-marks (gnus-info-marks info))
        (push (cons 'read (gnus-info-read info)) nnml-marks)
        (nnml-save-marks group server)))))
index e3cc299..b044562 100644 (file)
@@ -1,3 +1,7 @@
+2001-08-27  Simon Josefsson  <jas@extundo.com>
+
+       * gnus.texi (Archiving Mail): Add.
+
 2001-08-25  Simon Josefsson  <jas@extundo.com>
 
        * gnus.texi (Mail Spool): Add marks.
index 917c0fc..31de2ca 100644 (file)
@@ -758,6 +758,7 @@ Getting Mail
 * Not Reading Mail::            \e$BB>$N%U%!%$%k$rFI$`$?$a$K%a!<%k%P%C%/%(\e(B
                                 \e$B%s%I$r;H$&\e(B
 * Choosing a Mail Backend::     Gnus \e$B$O?'!9$J%a!<%kMM<0$rFI$`;v$,$G$-$k\e(B
+* Archiving Mail::              \e$B%a!<%k$r%P%C%/%"%C%W$9$k$K$O\e(B
 
 Mail Sources
 
@@ -10928,6 +10929,7 @@ Emacs \e$B$N%;%C%7%g%sA4BN$r%i%C%W$7$F!"%G%#%U%)%k%H$N%a%=%C%I$r;H$&$H$$$&$N\e(B
 * Not Reading Mail::            \e$BB>$N%U%!%$%k$rFI$`$?$a$K%a!<%k%P%C%/%(\e(B
                                 \e$B%s%I$r;H$&\e(B
 * Choosing a Mail Backend::     Gnus \e$B$O?'!9$J%a!<%kMM<0$rFI$`;v$,$G$-$k\e(B
+* Archiving Mail::              \e$B%a!<%k$r%P%C%/%"%C%W$9$k$K$O\e(B
 @end menu
 
 @node Mail in a Newsreader
@@ -12809,6 +12811,35 @@ Gnus \e$B$O$3$l$i$N%=!<%9$X$N3&LL$rDs6!$9$k%P%C%/%(%s%I72$r>/$7Hw$($D$D$"$j\e(B
 \e$B%I$rG$$;$F!"%m!<%+%k%G%#%9%/$+$i9%$-$J$H$-$KFI$`$h$&$K$9$k$3$H$,$G$-$^$9!#\e(B
 \e$B$3$l$G!"\e(BWorld Wide Wait \e$B$H$O$*$5$i$P$G$9!#\e(B
 
+@node Archiving Mail
+@subsection \e$B%a!<%k$NJ]B8\e(B
+@cindex archiving mail
+@cindex backup of mail
+
+\e$B$$$/$D$+$N%P%C%/%(%s%I!"FC$K\e(B nnml \e$B$H\e(B nnfolder \e$B$O!"$=$l$>$l$N%0%k!<%W$N5-\e(B
+\e$B;v$N0u$rK\Ev$KJ];}$7$^$9!#$3$l$i$N%5!<%P!<$G!"%0%k!<%W$N0u$rJ]$A$D$DJ]B8\e(B
+\e$B$7$?$j85$KLa$9$N$O$+$J$j4JC1$G$9!#\e(B
+
+(\e$B$G$b!"%0%k!<%W%l%Y%k$H%0%k!<%W%Q%i%a!<%?$r$bJ];}$9$k$K$O!":#$^$G$H$*\e(B
+\e$B$j\e(B @code{.newsrc.eld} \e$B$N?@$K!"Iq$$$H@8lS$rJ{$2$J$1$l$P$J$j$^$;$s!#\e(B)
+
+@code{nnml} \e$B$+\e(B @code{nnfolder} \e$B$K$^$k$4$HJ]B8$9$k$K$O!"%5!<%P!<$N%G%#%l\e(B
+\e$B%/%H%j$r:F5"E*$K%3%T!<$7$^$9!#\e(Bgnus \e$B$r=*N;$9$kI,MW$OL5$$$N$G!"J]B8\e(B
+\e$B$O\e(B @code{cron} \e$B$d$=$l$KN`$9$k$b$N$,9T$J$&$3$H$,$G$-$^$9!#%G!<%?$rI|5"$5\e(B
+\e$B$;$k$K$O%G%#%l%/%H%jLZ\e(B (tree) \e$B$r85$KLa$9$3$H$G9T$J$$!"$=$N%G%#%l%/%H%j$r\e(B
+\e$B;X$7<($9$h$&$K\e(B gnus \e$B$N%5!<%P!<$NDj5A$KDI2C$7$^$9!#\e(B@ref{Article Backlog}\e$B!"\e(B
+@ref{Asynchronous Fetching} \e$B$*$h$S$=$NB>$O!"%G!<%?$r>e=q$-$7$F<YKb$r$9$k\e(B
+\e$B$+$b$7$l$J$$$N$G!"$"$J$?$O%G!<%?$rI|5"$5$;$kA0$K\e(B gnus \e$B$r=*N;$7$?$$$+$b$7\e(B
+\e$B$l$^$;$s!#\e(B
+
+\e$B8D!9$N\e(B @code{nnml} \e$B$d\e(B @code{nnfolder} \e$B$N%0%k!<%W$r!"0u$rJ];}$7$D$DJ]B8$9\e(B
+\e$B$k$3$H$b$G$-$^$9!#\e(B@code{nnml} \e$B$G$O!"$=$N%0%k!<%W$N%G%#%l%/%H%j$K$"$k$9$Y\e(B
+\e$B$F$N%U%!%$%k$r%3%T!<$7$^$9!#\e(B@code{nnfolder} \e$B$G$O!"4pK\$N%U%)%k%@!<%U%!%$\e(B
+\e$B%k\e(B (@code{FOO}) \e$B$H0u%U%!%$%k\e(B (@code{FOO.mrk}) \e$B$NN>J}$r%3%T!<$9$kI,MW$,$"\e(B
+\e$B$j$^$9!#%0%k!<%W$r85$KLa$9$N$O!"%0%k!<%W%P%C%U%!$G\e(B @kbd{G m} \e$B%-!<$r;H$$\e(B
+\e$B$^$9!#$=$N:G8e$N<j=g$K$h$C$F!"\e(Bgnus \e$B$O?7$7$$%G%#%l%/%H%j$,$G$-$?$3$H$rCN\e(B
+\e$B$j$^$9!#\e(B
+
 @node Web Searches
 @subsection \e$B%&%'%V8!:w\e(B
 @cindex nnweb
index d9130a5..2405ac6 100644 (file)
@@ -667,6 +667,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
 
@@ -11451,6 +11452,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
 
 
@@ -13415,6 +13417,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 sacrifies 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