Previous: Visiting Functions, Up: Visiting Files


24.1.2 訪問するためのサブルーティン

関数find-file-noselectは、ユーザーのLispコードでも有用な 2つの重要なサブルーティン、create-file-bufferafter-find-fileを使います。 本節ではそれらの使い方を説明します。

— Function: create-file-buffer filename

この関数は、filenameを訪問するのに適するように命名した バッファを作成しそれを返す。 (ディレクトリを除外した)filenameが使用中の名前でなければ、 それを名前とする。 さもなければ、未使用の名前を得るために‘<2>’などの文字列を付加する。 Creating Buffersも参照。

注意: create-file-bufferは、 新たなバッファをファイルに対応付けないし、 当該バッファを選択しない。 デフォルトのメジャーモードも使わない。

          (create-file-buffer "foo")
               ⇒ #<buffer foo>
          (create-file-buffer "foo")
               ⇒ #<buffer foo<2>>
          (create-file-buffer "foo")
               ⇒ #<buffer foo<3>>

この関数はfind-file-noselectで使われる。 この関数はgenerate-new-buffer(see Creating Buffers)を使う。

— Function: after-find-file &optional error warn

この関数は、バッファのメジャーモードを設定し、 ローカル変数を解析する(see Auto Major Mode)。 find-file-noselectや デフォルトの復元処理関数(see Reverting)から呼ばれる。

ディレクトリはあるのにファイルが存在しないために ファイルの読み込みがエラーになった場合には、 呼び出し側はerrorの値としてnil以外を渡すこと。 その場合、after-find-fileは警告‘(New File)’を表示する。 より重大なエラーの場合には、after-find-fileを呼び出すべきでない。

warnnil以外であると、 自動保存ファイルが存在しそれが訪問したファイルより新しい場合には、 この関数は警告を発する。

after-find-fileが最後に行うことは、 リストfind-file-hooks内のすべての関数を呼び出すことである。