From f09eb547a17e48377c765e4950cf1793c390df20 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Tue, 28 Aug 2001 00:16:51 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 9 +++++++++ lisp/nnfolder.el | 12 +++++++++--- lisp/nnml.el | 3 ++- texi/ChangeLog | 4 ++++ texi/gnus-ja.texi | 31 +++++++++++++++++++++++++++++++ texi/gnus.texi | 31 +++++++++++++++++++++++++++++++ 6 files changed, 86 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1739e1f..3f3acd2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2001-08-27 Simon Josefsson + + * 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 * nnfolder.el (nnfolder-save-marks): Don't create directory named diff --git a/lisp/nnfolder.el b/lisp/nnfolder.el index 2e89fc9..086e1e2 100644 --- a/lisp/nnfolder.el +++ b/lisp/nnfolder.el @@ -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))))) diff --git a/lisp/nnml.el b/lisp/nnml.el index 7e15778..6a928a0 100644 --- a/lisp/nnml.el +++ b/lisp/nnml.el @@ -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))))) diff --git a/texi/ChangeLog b/texi/ChangeLog index e3cc299..b044562 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +2001-08-27 Simon Josefsson + + * gnus.texi (Archiving Mail): Add. + 2001-08-25 Simon Josefsson * gnus.texi (Mail Spool): Add marks. diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 917c0fc..31de2ca 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -758,6 +758,7 @@ Getting Mail * Not Reading Mail:: 他のファイルを読むためにメールバックエ ンドを使う * Choosing a Mail Backend:: Gnus は色々なメール様式を読む事ができる +* Archiving Mail:: メールをバックアップするには Mail Sources @@ -10928,6 +10929,7 @@ Emacs のセッション全体をラップして、ディフォルトのメソッドを使うというの * Not Reading Mail:: 他のファイルを読むためにメールバックエ ンドを使う * Choosing a Mail Backend:: Gnus は色々なメール様式を読む事ができる +* Archiving Mail:: メールをバックアップするには @end menu @node Mail in a Newsreader @@ -12809,6 +12811,35 @@ Gnus はこれらのソースへの界面を提供するバックエンド群を少し備えつつあり ドを任せて、ローカルディスクから好きなときに読むようにすることができます。 これで、World Wide Wait とはおさらばです。 +@node Archiving Mail +@subsection メールの保存 +@cindex archiving mail +@cindex backup of mail + +いくつかのバックエンド、特に nnml と nnfolder は、それぞれのグループの記 +事の印を本当に保持します。これらのサーバーで、グループの印を保ちつつ保存 +したり元に戻すのはかなり簡単です。 + +(でも、グループレベルとグループパラメータをも保持するには、今までとお +り @code{.newsrc.eld} の神に、舞いと生贄を捧げなければなりません。) + +@code{nnml} か @code{nnfolder} にまるごと保存するには、サーバーのディレ +クトリを再帰的にコピーします。gnus を終了する必要は無いので、保存 +は @code{cron} やそれに類するものが行なうことができます。データを復帰さ +せるにはディレクトリ木 (tree) を元に戻すことで行ない、そのディレクトリを +指し示すように gnus のサーバーの定義に追加します。@ref{Article Backlog}、 +@ref{Asynchronous Fetching} およびその他は、データを上書きして邪魔をする +かもしれないので、あなたはデータを復帰させる前に gnus を終了したいかもし +れません。 + +個々の @code{nnml} や @code{nnfolder} のグループを、印を保持しつつ保存す +ることもできます。@code{nnml} では、そのグループのディレクトリにあるすべ +てのファイルをコピーします。@code{nnfolder} では、基本のフォルダーファイ +ル (@code{FOO}) と印ファイル (@code{FOO.mrk}) の両方をコピーする必要があ +ります。グループを元に戻すのは、グループバッファで @kbd{G m} キーを使い +ます。その最後の手順によって、gnus は新しいディレクトリができたことを知 +ります。 + @node Web Searches @subsection ウェブ検索 @cindex nnweb diff --git a/texi/gnus.texi b/texi/gnus.texi index d9130a5..2405ac6 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -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 -- 1.7.10.4