Next: , Previous: , Up: Windows   [Contents][Index]


27.10 Buffers and Windows

このセクションでは、ウィンドウのコンテンツを調べたりセットするための、低レベルな関数を説明します。ウィンドウ内に特定のバッファーを表示するための高レベルな関数については、Switching Buffersを参照してください。

Function: window-buffer &optional window

この関数は、windowが表示しているバッファーをリターンする。windowが省略またはnilの場合のデフォルトは、選択されたウィンドウである。windowが内部ウィンドウの場合、この関数はnilをリターンする。

Function: set-window-buffer window buffer-or-name &optional keep-margins

この関数は、 windowbuffer-or-nameウィンドウ表示させる。windowは生きたウィンドウであること。nilの場合のデフォルトは、選択されたウィンドウである。buffer-or-nameは、バッファー、あるいは既存のバッファー名であること。この関数は、選択されていたウィンドウを変更せず、カレントバッファーも直接は変更しない(Current Bufferを参照)。リターン値はnilである。

windowが、あるバッファーにたいして特に専用で、かつbuffer-or-nameがそのバッファーを指定しない場合、この関数はエラーをシグナルする。Dedicated Windowsを参照のこと。

デフォルトでは、この関数は指定されたバッファーのローカル変数にもとづいて、windowの位置、ディスプレイマージン、フリンジ幅、スクロールバーのセッティングをリセットする。しかし、オプション引数keep-marginsが非nilの場合は、ディスプレイマージンとフリンジ幅は未変更のままにする。

アプリケーションを記述する際は、直接set-window-bufferを呼び出すのではなく、通常はSwitching Buffersで説明する高レベルの関数を使用するべきである。

これは、window-scroll-functionsの後にwindow-configuration-change-hookを実行する。Window Hooksを参照のこと。

Variable: buffer-display-count

このバッファーローカル変数は、ウィンドウ内にバッファーが表示された回数を記録する。。これは、そのバッファーにたいしてset-window-bufferが呼び出されるたびに増分される

Variable: buffer-display-time

このバッファーローカル変数は、バッファーがウィンドウに最後に表示された時刻を記録する。バッファーが表示されたことがない場合は、nilをリターンする。これは、そのバッファーにたいしてset-window-bufferが呼び出されるたびに、current-timeがリターンする値により更新される(Time of Dayを参照)。

Function: get-buffer-window &optional buffer-or-name all-frames

この関数は、ウィンドウのサイクル順内で、選択されたウィンドウを起点に、buffer-or-nameを表示する最初のウィンドウをリターンする.<(Cyclic Window Orderingを参照)。そのようなウィンドウが存在しない場合、リターン値はnilとなる。

buffer-or-nameはバッファーか、バッファーの名前であること。省略またはnilの場合のデフォルトは、カレントバッファーである。オプション引数all-framesは、考慮するウィンドウを指定する。

これらの意味は、next-windowall-frames引数の場合とは若干異なることに注意されたい(Cyclic Window Orderingを参照)。この不一致の解消のために、EEmacsの将来のバージョンにおいて、この関数は変更されるかもしれない。

Function: get-buffer-window-list &optional buffer-or-name minibuf all-frames

この関数は、その時点でbuffer-or-nameを表示する、すべてのウィンドウのリストをリターンする。buffer-or-nameはバッファー、または既存バッファーの名前であること。省略またはnilの場合のデフォルトは、カレントバッファーである。

引数minibufall-framesは、関数next-windowの場合と同じ意味をもつ(Cyclic Window Orderingを参照)。all-frames引数は、get-buffer-windowの場合と正確に同じようには振る舞わないことに注意すること。

Command: replace-buffer-in-windows &optional buffer-or-name

このコマンドは、buffer-or-nameを表示しているすべてのウィンドウで、それを他の何らかのバッファーに置き換える。buffer-or-nameはバッファー、または既存のバッファーの名前であること。省略またはnilの場合のデフォルトは、カレントバッファーである。

各ウィンドウで置き換えられるバッファーは、switch-to-prev-bufferを通じて選択される(Window Historyを参照)。buffer-or-nameを表示している専用ウィンドウはすべて、可能なら削除される(Dedicated Windowsを参照)。そのようなウィンドウがそのフレームで唯一のウィンドウで、かつ同一端末上に他のフレームが存在する場合は、そのフレームも同様に削除される。その端末上の唯一のフレームの唯一のウィンドウの場合は、いずれにせよそのバッファーは置き換えられる。