Next: , Up: Backup   [Contents][Index]


18.3.2.1 単一または番号つきバックアップ

Emacsのバックアップファイル作成では、バックアップの名前は通常、編集されるファイル名の後ろに‘~’をつけて作成されます。したがってeval.cのバックアップファイルは、eval.c~になります。

アクセスコントロールによりEmacsが通常の名前でバックアップファイルを書き込めない場合、~/.emacs.d/%backup%~というバックアップファイルに書き込みます。この1つのファイルしか存在しないので、一番最近作られたバックアップだけが利用可能です。

Emacsは番号つきバックアップファイル(numbered backup files)を作ることもできます。番号つきバックアップファイルの名前は、元のファイル名の後ろに‘.~’と番号と‘~’をつけたものです。したがってeval.cのバックアップファイルは、eval.c.~1~eval.c.~2~、...、eval.c.~259~、...となります。

変数version-controlは、単一のバックアップファイルを作るか、複数の番号つきバックアップファイルを作るかを決定します。有効な値は以下のとおりです:

nil

すでに番号つきバックアップのあるファイルにたいしては、番号つきバックアップを作ります。それ以外は単独のバックアップをつくります。これがデフォルトです。

t

番号つきバックアップを作ります。

never

番号つきバックアップをつくらず、常に単一のバックアップを作ります。

この変数をセットする通常の方法は、initファイルやcustomizationバッファーを通じて、グローバルにセットする方法です。しかし特定のバッファーにローカルにversion-controlをセットして、そのバッファーのバックアップ作成を制御することができます(Localsを参照してください)。特定のファイルをvisitするとき、常にEmacsにversion-controlをローカルにセットさせることができます(File Variablesを参照してください)。Rmailモードのようないくつかのモードは、この変数をセットします。

さまざまなGNUユーティリティーにたいして、何をすべきか指示する環境変数VERSION_CONTROLをセットすると、Emacsも開始時にこの環境変数にしたがって、Lisp変数version-controlをセットします。環境変数の値が‘t’または‘numbered’のときは、version-controltになります。値が‘nil’または‘existing’のときは、version-controlnilになります。もし‘never’または‘simple’のときは、version-controlneverになります。

変数backup-directory-alistをカスタマイズして、指定したパターンにマッチする特定のファイルにたいして、指定したディレクトリーにバックアップを作成させることができます。この変数は単独、または複数の番号つきバックアップの両方に適用されます。典型的な使い方は、要素("." . dir)を追加することにより、すべてのバックアップを絶対パスdirに作る方法です。異なるディレクトリーにある同じ名前のファイルによる、バックアップファイルの名前の衝突を避けるため、Emacsはバックアップファイルの名前を変更します。("." . ".~")を追加すると、これは元のファイルがあるディレクトリーに、非表示の.~というディレクトリーを作って、そこにバックアップを作成します。Emacsはバックアップを作るため、必要ならディレクトリーを作成します。

変数make-backup-file-name-functionに適切なLisp関数をセットすることにより、Emacsがバックアップファイル名を作る通常の方法をオーバーライドできます。