Previous: Visiting Functions, Up: Visiting Files [Contents][Index]
find-file-noselect
関数は、2つの重要なサブルーチンcreate-file-buffer
およびafter-find-file
を使用します。これらはユーザーのLispコードでも役に立つことがあります。このセクションでは、それらの使い方について説明します。
この関数は、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を参照)。
この関数は、バッファーのメジャーモードをセットして、ローカル変数をパースする(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
内のすべての関数を呼び出すことである。