バックアップファイルは古いファイルのコピーあるいは名前変更で作成します. 古いファイルが複数の名前を持つときにはこの違いが重要になります.古いファ イルがバックアップファイルに名前変更される場合には,代わりのファイル名が バックアップファイル名として使われます.古いファイルがコピーされる場合に は,代わりのファイル名は編集中のファイルの名前のままで,このファイル名で 呼び出される内容は新しいものとなります.
バックアップファイルの作り方は,そのファイルのオーナーとグループにも関 係します.コピーで作られたときはこれらは変わりません.名前変更で作られた ときは,ファイルのオーナーは利用者に,グループはデフォルト(システムによっ てこのデフォルトは異なります)になります.
オーナーが変わることはよいことだと思います.誰が最後にそのファイルを編
集したかを示しているからです.また,バックアップのオーナーも,誰がこのバッ
クアップを作ったかを示しています.時にはオーナーを変えたくないファイルが
あるかもしれません.この場合には,ローカル変数
backup-by-copying-when-mismatch
をそのファイルだけに設定するように,
ファイルに含めておくのがよいでしょう(see section ファイル内のローカル変数).
ファイルをコピーするか名前変更するかは,3つの変数によって決定されます.
通常はファイル名変更が行なわれます.変数backup-by-copying
が
non-nil
の場合にはコピーが行なわれます.変数
backup-by-copying-when-linked
がnon-nil
の場合には,名前を複
数持つファイルにはコピーが行なわれますが,編集中のファイルの名前が1つの
ときは名前変更が行なわれます.変数backup-by-copying-when-mismatch
がnon-nil
の場合には,名前変更するとファイルのオーナーやグループが,
変わってしまうときにはコピーをします.