+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
(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)
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)
(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)))))
(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)
(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)))))
+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.
* 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
* 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
\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
* 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
* 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 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