Emacsがバックアップファイルを作成する方法は、次の2通りあります。
1つ目の方法である名称変更がデフォルトです。
変数 backup-by-copying が nil
以外の場合、2番目の手法、すなわち元のファイルをコピーして新しいバッファの内容で上書きする方法を使用することになります。変数 file-precious-flag も nil
以外であれば、同様の効果があります(主たる意義の副次的な効果として)。バッファの保存 を参照してください。
この変数が nil 以外の場合、Emacs
は常にコピーによってバックアップファイルを作成します。デフォルトは nil です。
以下の3つの変数がnil以外の場合、特定の特殊なケースにおいて2番目のメソッドが使用されます。これらの変数は、特殊なケースに該当しないファイルの処理には影響しません。
この変数が nil 以外の場合、Emacs
は複数の名前を持つファイル(ハードリンク)について、コピーによるバックアップを作成します。デフォルトは nil です。
この変数が有意となるのは、backup-by-copying が nil である場合に限られる。というのも、この変数が nil
以外の場合は常にコピーが用いられるからである。
この変数が nil 以外(デフォルト)の場合、Emacs
は、ファイル名の変更によってファイルの所有者またはグループのいずれかが変わってしまうケースにおいて、コピーによってバックアップを作成します。
ファイル名を変更してもファイルの所有者やグループが変わらない場合、この値は影響しません。つまり、ユーザーが所有し、かつそのグループがユーザーによって新たに作成されるファイルのデフォルトグループと一致するファイルが対象となります。
この変数が有意となるのは、backup-by-copying が nil である場合に限られる。というのも、この変数が nil
以外の場合は常にコピーが用いられるからである。
この変数が nil 以外の場合、backup-by-copying-when-mismatch と同じ動作を規定しますが、対象となるのは特定の
user-id および group-id の値、すなわちある数値以下の値のみです。この変数に、その数値を設定してください。
したがって、backup-by-copying-when-privileged-mismatch を
0 に設定すると、ファイルの所有者変更を防ぐ必要がある場合に、スーパーユーザーおよびグループ 0 に対してのみコピーによるバックアップが行われます。
デフォルトは200です。