Next: Writing to Files, Previous: Saving Buffers, Up: Files
関数insert-file-contents
を使って
ディスクからファイルをバッファへコピーできます。
ユーザーレベルのコマンドinsert-file
はマークを設定するので
Lispプログラムでは使わないでください。
この関数は、ファイルfilenameの内容をカレントバッファの ポイントのうしろに挿入する。 絶対ファイル名と挿入したデータの長さから成るリストを返す。 filenameが読み込めるファイルの名前でないと、エラーを通知する。
関数
insert-file-contents
は、 ファイルの内容を定義済みのファイルの書式と比較し、 必要ならばファイルの内容を変換する。 see Format Conversion。 リストafter-insert-file-functions
の関数も呼び出す。 Saving Propertiesを参照。visitが
nil
以外であると、 この関数はバッファを未変更と印を付け、 ファイルfilenameを訪問しているバッファとなるように バッファのさまざまな部分を設定する。 これには、バッファが訪問しているファイルの名前、ファイル更新時刻を含む。 この機能はfind-file-noselect
で使われており、 読者自身が使うことはないであろう。begとendが
nil
以外であると、 それらは挿入すべきファイルの部分を指定する整数であること。 この場合、visitはnil
であること。 たとえば、(insert-file-contents filename nil 0 500)はファイルの最初の500文字を挿入する。
引数replaceが
nil
以外であると、 バッファの内容(実際には参照可能な部分のみ)を ファイルの内容で置き換えることを意味する。 これは、単純にバッファの内容を削除してからファイル全体を挿入するより 好ましい。 なぜなら、(1)マーカ位置を保存できる場合がある、 (2)アンドゥリストにほとんどデータを入れない、からである。replaceとvisitが
nil
である限り、insert-file-contents
で(FIFOや入出力装置などの) 特別なファイルを読むことも可能である。
この関数は
insert-file-contents
のように動作するが、 書式を変換しない(see Format Conversion)、 文字コードを変換しない(see Coding Systems)、find-file-hooks
を実行しない、自動的に解凍しないなどが異なる。
別のプログラムが読めるようにファイル名を別のプロセスに渡すには、
関数file-local-copy
を使います。
Magic File Namesを参照してください。