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なら常にコピーによりバックアップが作成されるので、この変数はbackup-by-copyingがnilのときだけ意味がある。
この変数が非nil(デフォルト)なら、リネームによりファイルの所有者やグループが変更されるケースではEmacsはコピーによりバックアップを作成する。
リネームによりファイルの所有者やグループが変更されなければ、値に効果はない。つまり、そのディレクトリーで新たに作成されるファイルにたいするデフォルトのグループに属するユーザーにより所有されるファイルが該当する。
backup-by-copyingが非nilなら常にコピーによりバックアップが作成されるので、この変数はbackup-by-copyingがnilのときだけ意味がある。
この変数が非nilなら、特定のユーザーIDおよびグループIDの値(具体的には特定の値以下のID数値)にたいしてのみ、backup-by-copying-when-mismatchと同じように振る舞うことを指定する。変数にはその数値をセットする。
したがってファイル所有者の変更を防ぐ必要がある際には、backup-by-copying-when-privileged-mismatchを0にセットすればスーパーユーザーとグループ0だけがコピーによるバックアップを行うことができる。
デフォルトは200。