GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Rename-or-Copy.html ・ emacs-doc.conao3.com

27.1.2 名前変更によるバックアップか、コピーによるバックアップか?

Emacsがバックアップファイルを作成する方法は、次の2通りあります。

1つ目の方法である名称変更がデフォルトです。

変数 backup-by-copying が nil 以外の場合、2番目の手法、すなわち元のファイルをコピーして新しいバッファの内容で上書きする方法を使用することになります。変数 file-precious-flag も nil 以外であれば、同様の効果があります(主たる意義の副次的な効果として)。バッファの保存 を参照してください。

ユーザーオプション: backup-by-copying

この変数が nil 以外の場合、Emacs は常にコピーによってバックアップファイルを作成します。デフォルトは nil です。

以下の3つの変数がnil以外の場合、特定の特殊なケースにおいて2番目のメソッドが使用されます。これらの変数は、特殊なケースに該当しないファイルの処理には影響しません。

ユーザーオプション: backup-by-copying-when-linked

この変数が nil 以外の場合、Emacs は複数の名前を持つファイル(ハードリンク)について、コピーによるバックアップを作成します。デフォルトは nil です。

この変数が有意となるのは、backup-by-copying が nil である場合に限られる。というのも、この変数が nil 以外の場合は常にコピーが用いられるからである。

ユーザーオプション: backup-by-copying-when-mismatch

この変数が nil 以外(デフォルト)の場合、Emacs は、ファイル名の変更によってファイルの所有者またはグループのいずれかが変わってしまうケースにおいて、コピーによってバックアップを作成します。

ファイル名を変更してもファイルの所有者やグループが変わらない場合、この値は影響しません。つまり、ユーザーが所有し、かつそのグループがユーザーによって新たに作成されるファイルのデフォルトグループと一致するファイルが対象となります。

この変数が有意となるのは、backup-by-copying が nil である場合に限られる。というのも、この変数が nil 以外の場合は常にコピーが用いられるからである。

ユーザーオプション: backup-by-copying-when-privileged-mismatch

この変数が nil 以外の場合、backup-by-copying-when-mismatch と同じ動作を規定しますが、対象となるのは特定の user-id および group-id の値、すなわちある数値以下の値のみです。この変数に、その数値を設定してください。

したがって、backup-by-copying-when-privileged-mismatch を 0 に設定すると、ファイルの所有者変更を防ぐ必要がある場合に、スーパーユーザーおよびグループ 0 に対してのみコピーによるバックアップが行われます。

デフォルトは200です。