Next: リネームかコピーのどちらでバックアップするか?, Up: ファイルのバックアップ [Contents][Index]
この関数は、もしそれが適切ならカレントバッファーにvisitされているファイルのバックアップを作成する。これは最初のバッファー保存を行う前にsave-bufferにより呼び出される。
リネームによりバックアップが作成されると、リターン値は(modes extra-alist
backupname)という形式のコンスセルになる。ここでmodesはfile-modes
(アクセシビリティのテストを参照)でリターンされるような元ファイルのモードビット、extra-alistはfile-extended-attributes
(拡張されたファイル属性を参照)によりリターンされるような元ファイルの拡張属性を示すalist、そしてbackupnameはバックアップの名前。
他のすべての場合(コピーによりバックアップが作成された、またはバックアップが作成されなかった)には、この関数はnilをリターンする。
このバッファーローカル変数は、そのバッファーのファイルがバッファーによりバックアップされたかどうかを明示する。非nilならバックアップファイルは書き込み済み、それ以外なら(バックアップが有効なら)次回保存時にファイルはバックアップされる。この変数は永続的にローカルでありkill-all-local-variablesはこれを変更しない。
この変数はバックアップファイルを作成するかどうかを決定する。非nilなら、Emacsは初回保存時にすべてのファイルのバックアップを作成する
— ただしbackup-inhibitedがnilの場合(以下参照)。
以下の例はRmailバッファーだけで変数make-backup-filesを変更して、それ以外では変更しない方法を示す。この変数をnilにセットすると、Emacsはそれらのファイルのバックアップ作成をストップするのでディスク容量の消費を節約するだろう(あなたはこのコードをinitファイルに配置したいと思うかもしれない)。
(add-hook 'rmail-mode-hook
(lambda () (setq-local make-backup-files nil)))
この変数の値は、あるファイルがバックアップファイルをもつべきかどうかを決定するために、特定のタイミングで呼び出される関数ある。この関数は判断対象の絶対ファイル名という1つの引数を受け取る。この関数がnilをリターンすると、そのファイルにたいするバックアップは無効になる。それ以外なら、このセクション内の他の変数がバックアップ作成の是非と方法を指定する。
デフォルト値はnormal-backup-enable-predicateで、これはtemporary-file-directoryとsmall-temporary-file-directory内のファイルをチェックする。
この変数が非nilならバックアップは抑制される。これはvisitされているファイル名にたいするbackup-enable-predicateのテスト結果を記録する。さらにvisitされているファイルにたいするバックアップ抑制にもとづいたその他の機構からも使用され得る。たとえばVCはバージョンコントロールシステムに管理されるファイルのバックアップを防ぐために、この変数を非nilにセットする。
これは永続的にローカルなのでメジャーモード変更により値は失われない。メジャーモードはこの変数ではなく、かわりにmake-backup-filesをセットすること。
この変数の値はファイル名パターンとバックアップディレクトリーのalist。各要素は以下の形式をもつ
(regexp . directory)
この場合には名前がregexpにマッチするファイルのバックアップが、directory内に作成されるだろう。directoryには相対ディレクトリーか絶対ディレクトリーを指定できる。絶対ディレクトリーなら、マッチするすべてのファイルが同じディレクトリー内にバックアップされる。このディレクトリー内でのファイル名はクラッシュを避けるために、バックアップされるファイルの完全名のすべてのディレクトリー区切りが‘!’に変更される。結果の名前を切り詰めるファイルシステムでは、これは正しく機能しないだろう。
すべてのバックアップが単一のディレクトリーで行われる一般的なケースでは、alistは‘"."’と適切なディレクトリーからなるペアーという単一の要素を含むこと。
この変数がnil(デフォルト)、またはファイル名のマッチに失敗するとバックアップは元のファイルのディレクトリーに作成される。
長いファイル名がないMS-DOSファイルシステムでは、この変数は常に無視される。
この変数の値はバックアップファイル名を作成する関数。関数make-backup-file-nameはこれを呼び出す。Naming Backup Filesを参照のこと。
特定のファイルにたいして特別なことを行うために、これをバッファーローカルにすることもできる。変更する場合には、backup-file-name-pとfile-name-sans-versionsを変更する必要もあるかもしれない。