Next: Rename or Copy, Up: Backup Files [Contents][Index]
この関数は、もしそれが適切であれば、カレントバッファーにvisitされているファイルのバックアップを作成する。これは、最初のバッファー保存を行う前に、save-buffer
により呼び出される。
リネームによりバックアップが作成された場合、リターン値は(modes extra-alist
backupname)という形式のコンスセルである。ここでmodesは、file-modes
(Testing Accessibilityを参照)でリターンされるような元ファイルのモードビット、extra-alistはfile-extended-attributes
(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
も変更する必要があるかもしれない。