このセクションではウィンドウのコンテンツを調べたりセットするための低レベルな関数を説明します。ウィンドウ内に特定のバッファーを表示するための高レベルな関数についてはウィンドウ内のバッファーへの切り替えを参照してください。
この関数はwindowが表示しているバッファーをリターンする。windowが省略またはnil
の場合のデフォルトは選択されたウィンドウ。windowが内部ウィンドウならこの関数はnil
をリターンする。
この関数はwindowにbuffer-or-nameを表示させる。windowは生きたウィンドウであること。nil
の場合のデフォルトは選択されたウィンドウ。buffer-or-nameはバッファー、あるいは既存のバッファー名であること。この関数は選択されていたウィンドウを変更せず、カレントバッファーも直接変更しない(カレントバッファーを参照)。リターン値はnil
。
windowがあるバッファーにたいして特に専用(strongly dedicated)であり、かつbuffer-or-nameがそのバッファーを指定しなければ、この関数はエラーをシグナルする。専用のウィンドウを参照のこと。
デフォルトではこの関数は指定されたバッファーのローカル変数にもとづいてwindowの位置、ディスプレイマージン、フリンジ幅、スクロールバーのセッティングをリセットする。しかしオプション引数keep-marginsが非nil
なら、windowのディスプレイマージンおよびフリンジとスクロールバーのセッティングは未変更のままにする。
アプリケーションを記述する際には直接set-window-buffer
を呼び出すのではなく、通常はdisplay-buffer
(バッファーを表示するウィンドウの選択を参照)やウィンドウ内のバッファーへの切り替えで説明する高レベルの関数を使用すること。
これはwindow-scroll-functions
の後にwindow-configuration-change-hook
を実行する。ウィンドウのスクロールと変更のためのフックを参照のこと。
このバッファーローカル変数はウィンドウ内にバッファーが表示された回数を記録する。。これはそのバッファーにたいしてset-window-buffer
が呼び出されるたびに増分される
このバッファーローカル変数はバッファーがウィンドウに最後に表示された時刻を記録する。バッファーが表示されたことがなければnil
をリターンする。これはそのバッファーにたいしてset-window-buffer
が呼び出されるたびにcurrent-time
がリターンする値により更新される(時刻を参照)。
この関数はウィンドウのサイクル順内で選択されたウィンドウを起点に、buffer-or-nameを表示する最初のウィンドウをリターンする(ウィンドウのサイクル順を参照)。そのようなウィンドウが存在しなければリターン値はnil
。
buffer-or-nameはバッファーかバッファーの名前であること。省略またはnil
の場合のデフォルトはカレントバッファー。オプション引数all-framesには考慮するウィンドウを指定する。
t
はすべての既存フレーム上のウィンドウを考慮することを意味する。
visible
はすべての可視フレーム上のウィンドウを考慮することを意味する。
これらの意味はnext-window
のall-frames引数の場合とは若干異なることに注意(ウィンドウのサイクル順を参照)。この不一致の解消のためにEmacsの将来のバージョンにおいて、この関数は変更されるかもしれない。
この関数はその時点でbuffer-or-nameを表示している、すべてのウィンドウのリストをリターンする。buffer-or-nameはバッファーまたは既存バッファーの名前であること。省略またはnil
の場合のデフォルトはカレントバッファー。カレントで選択されたウィンドウがbuffer-or-nameを表示していれば、それはこの関数がリターンするリストの先頭となる。
引数minibufとall-framesは、関数next-window
の場合と同じ意味をもつ(ウィンドウのサイクル順を参照)。all-frames引数は、get-buffer-window
の場合と正確に同じようには振る舞わないことに注意。
このコマンドはbuffer-or-nameを表示しているすべてのウィンドウで、それを他の何らかのバッファーに置き換える。buffer-or-nameはバッファーまたは既存のバッファーの名前であること。省略またはnil
の場合のデフォルトはカレントバッファー。
各ウィンドウで置き換えられるバッファーはswitch-to-prev-buffer
を通じて選択される(ウィンドウのヒストリーを参照)。サイドウィンドウ(サイドウィンドウを参照)を除き、buffer-or-nameを表示している専用ウィンドウは可能ならすべて削除される(専用のウィンドウを参照)。そのようなウィンドウがそのフレームで唯一のウィンドウで、かつ同一端末上に他のフレームが存在する場合には、そのフレームも同様に削除される。その端末上の唯一のフレームの唯一のウィンドウの場合は、いずれにせよそのバッファーは置き換えられる。