Previous: , Up: 自動保存-災害にたいする防御   [Contents][Index]


19.6.3 自動保存からのデータ復旧

コマンドM-x recover-file RET file RETにより、auto-saveファイルの内容を使って、失われたデータを復旧できます。これはfileをvisitして、(確認を求めた後で)auto-saveファイル#file#の内容をリストアします。その後C-x C-sで復旧したテキストを、file自身に保存できます。たとえばファイルfoo.cを、そのauto-saveファイル#foo.c#で復旧するには、以下のようにします:

M-x recover-file RET foo.c RET
yes RET
C-x C-s

M-x recover-fileは確認を求める前に、指定したファイルとauto-saveファイルのあるディレクトリー一覧を表示するので、ファイルのサイズや日付を確認できます。auto-saveの方が古い場合、M-x recover-fileはそれを読み込むように提案しません。

Emacsまたはコンピューターがクラッシュしたとき、M-x recover-sessionコマンドで編集していたすべてのファイルを、それらのauto-saveファイルで復旧できます。これは最初に中断されたセッションの記録された一覧を表示します。ポイントを移動して選択してから、C-c C-cをタイプします。

recover-sessionは、そのセッションの間に編集されていた各ファイルについて、ファイルを復旧するか尋ねます。yと応えるとrecover-fileを呼び出し、通常の方法で復旧を行います。これは元のファイルとauto-saveファイルの日付を表示して、ファイルの復旧を行うかもう1度尋ねます。

recover-sessionが完了すると、復旧を選択したファイルがEmacsバッファーに表示されます。実際にファイル自体を 更新するためには、これらを保存するのが唯一の方法です。

Emacsは中断されたセッションについての情報を、ディレクトリー~/.emacs.d/auto-save-list/の、.saves-pid-hostname~という名前のファイルに記録します。auto-save-list-file-prefixnilにセットすると、復旧用にセッションが記録されなくなります。