次: Buffer Modification, 前: Buffer Names, 上: Buffers
バッファファイル名(buffer file name)とは、
当該バッファで訪問しているファイルの名前です。
バッファでファイルを訪問していないときには、
バッファファイル名はnil
です。
ほとんどの場面で、バッファ名は
バッファファイル名の非ディレクトリ部分と同じですが、
バッファファイル名とバッファ名は別のものであり個別に設定できます。
See Visiting Files。
この関数は、bufferで訪問しているファイルの 絶対ファイル名を返す。 bufferがファイルを訪問していなければ、
buffer-file-name
はnil
を返す。 bufferを指定しないと、 デフォルトはカレントバッファである。(buffer-file-name (other-buffer)) => "/usr/user/lewis/manual/files.texi"
このバッファローカルな変数は、 カレントバッファで訪問しているファイルの名前を保持する。 あるいは、ファイルを訪問していなければ
nil
である。 これは恒久的にバッファローカルであり、kill-local-variables
に影響されない。buffer-file-name => "/usr/user/lewis/manual/buffers.texi"他のさまざまなことを行わずにこの変数の値だけを変更することは危険である。 通常、
set-visited-file-name
(下記参照)を使うほうがよい。 バッファ名を変更するなどの重要でないことも行うが、 Emacsを混乱させないように本質的なことも行うからである。
このバッファローカルな変数は、 カレントバッファで訪問しているファイルの実名を保持する。 あるいは、ファイルを訪問していなければ
nil
である。 これは恒久的にバッファローカルであり、kill-local-variables
に影響されない。 see Truenames。
このバッファローカルな変数は、 カレントバッファで訪問しているファイルの ファイル番号とディレクトリ装置番号を保持する。 あるいは、ファイルを訪問していなければ
nil
である。 これは恒久的にバッファローカルであり、kill-local-variables
に影響されない。この値は、通常、
(
filenum devnum)
の形のリストである。 この数の対により、システム上のすべての参照可能なファイルを一意に識別できる。 これらについてより詳しくは、 File Attributesの関数file-attributes
を参照。
この関数は、ファイルfilenameを訪問しているバッファを返す。 そのようなバッファが存在しなければ
nil
を返す。 引数filenameは文字列であり、 展開(see File Name Expansion)してから すべてのバッファの訪問しているファイル名と比較する。(get-file-buffer "buffers.texi") => #<buffer buffers.texi>稀れな状況では、複数のバッファが同じ名前のファイルを訪問している場合がある。 そのような場合、この関数はバッファリストで最初にみつかったバッファを返す。
filenameが空でない文字列であると、 この関数はカレントバッファで訪問しているファイルの名前を filenameに変える。 (ファイルを訪問していないバッファでは、 当該バッファに訪問しているファイル名を指定する。) バッファをつぎに保存すると、指定した新たなファイルに保存される。 このコマンドは、バッファに変更済みと印を付ける。 変更まえの訪問しているファイルの内容とバッファ内容が一致していたとしても (Emacsにとっては) バッファ内容はfilenameの内容と一致しないからである。
filenameが
nil
だったり空文字列であると、 『ファイルを訪問していない』ことにする。 この場合、set-visited-file-name
は、 当該バッファではファイルを訪問していないと印を付ける。通常、この関数は、指定したファイルが既存の場合には ユーザーに確認をとる。 no-queryが
nil
以外であると、確認をとらない。along-with-fileが
nil
以外であると、 それ以前に訪問していたファイルはfilenameと改名してあると仮定する。関数
set-visited-file-name
を対話的に呼び出すと、 ミニバッファでfilenameを問い合わせる。