自動セーブは通常は読み込んだファイル名でのセーブは行ないません.これは 予定の半分しか変更していないような中途半端なプログラムをセーブするのは望 ましくないからです.その代わり,自動セーブは自動セーブファイルと呼ばれる 別のファイルに行なわれ,読み込んだファイルは,陽にセーブした(C-x C-sなどで)場合のみ変更されます.
通常,自動セーブファイル名は,読み込んだファイル名の前と後ろに`#'
をつけて作ります.つまりファイル`foo.c'を読み込んでいるバッファは
`#foo.c#'ファイルに自動セーブされます.ファイルを読み込んでいないバッ
ファの多くは,陽に自動セーブを指定しない限り自動セーブされません.これら
のバッファが自動セーブされる際には,自動セーブファイル名はバッファ名の前
に`#%'を,後ろに`#'をつけて作ります.たとえばメイルの送信メッ
セージが含まれる`*mail*'バッファは`#%*mail*#'というファイルに
自動セーブされます.自動セーブファイル名は,Emacsの一部を再プログラムし
ない限り,このようにして作られます(関数make-auto-save-file-name
と
auto-save-file-name-p
です).あるバッファに使われる自動セーブファ
イルの名前は,そのバッファに自動セーブが指示されたときに作られます.
読み込んだファイルに自動セーブさせたい場合は,変数
auto-save-visited-file-name
をnon-nil
に設定します.このよう
に設定したときには,自動セーブと陽に行なったセーブに違いはありません.
バッファを読み込んだファイルにセーブすると,そのバッファの自動セーブファ
イルは消去されます.これをやめるには変数delete-auto-save-files
を
nil
にしてください.C-x C-wやset-visited-file-name
で
読み込んだファイル名を変えたときには,自動セーブはその新しい名前に従って
行なわれます.