Previous: , Up: Visiting Files   [Contents][Index]


24.1.2 Subroutines of Visiting

find-file-noselect関数は、2つの重要なサブルーチンcreate-file-bufferおよびafter-find-fileを使用します。これらはユーザーのLispコードでも役に立つことがあります。このセクションでは、それらの使い方について説明します。

Function: create-file-buffer filename

この関数は、filenameのvisitにたいして適切な名前のバッファーを作成して、それをリターンする。これはfilename(ディレクトリー含まず)の名前がフリーならバッファー名にそれを使用し、フリーでなければ未使用の名前を取得するために‘<2>’のような文字列を付加する。Creating Buffersも参照のこと。uniquifyライブラリーは、この関数の結果に影響を与えることに注意されたい。Uniquify in The GNU Emacs Manualを参照のこと。

注意してください: 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を使用する(Creating Buffersを参照)。

Function: after-find-file &optional error warn noauto after-find-file-from-revert-buffer nomodes

この関数は、バッファーのメジャーモードをセットして、ローカル変数をパースする(Auto Major Modeを参照)。これはfind-file-noselect、およびデフォルトのリバート関数(Revertingを参照)により呼び出される。

ファイルが存在しない理由によりファイルの読み込みがエラーを受け取るが、ディレクトリーは存在する場合、呼び出し側はerrorにたいして非nil値を綿すべきである。この場合、after-find-fileは警告‘(New file)’を発する。より深刻なエラーにたいしては、呼び出し側は通常はafter-find-fileを呼び出すべきでない。

warnが非nilの場合、もしauto-saveファイルが存在し、かつそれがvisitされているファイルより新しいなら、この関数は警告を発する。

noautoが非nilの場合、それはAuto-Saveモードを有効、または無効にしないことを告げる。以前にAuto-Saveモードが有効ならば、有効のまま留まる。

after-find-file-from-revert-bufferが非nilの場合、それはこの関数がrevert-bufferから呼び出されたことを意味する。これに直接的な効果はないが、モード関数およびフック関数の中には、この変数の値をチェックするものがいくつかある。

nomodesが非nilの場合、それはバッファーのメジャーモードを変更せず、ファイル内のローカル変数指定を処理せず、find-file-hookを実行しないことを意味する。この機能は、あるケースにおいてrevert-bufferにより使用される。

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