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


27.16 Dedicated Windows

バッファーを表示する関数は、特定のウィンドウが、そのウィンドウのバッファーにたいして専用(dedicated)であるとマークすることにより、使用しないよう告げることができます。display-buffer(Choosing Windowを参照)は、他のバッファーの表示に、専用バッファーを決して使用しません。 and get-largest-window(see Cyclic Window Ordering)は、dedicated引数が非nilのときは、専用ウィンドウを候補とみなしません。専用ウィンドウにたいする配慮に関して、set-window-buffer(Buffers and Windowsを参照)の挙動は若干異なります。以下を参照してください。

ウィンドウからバッファー、およびフレームからウィンドウを削除することを意図した関数は、処理するウィンドウが専用ウィンドウのときは特別な挙動を示す可能性があります。ここでは3つの基本ケース、すなわち(1)そのウィンドウがフレーム上で唯一のウィンドウの場合、(2)ウィンドウはフレーム上で唯一のウィンドウだが同一端末上に別のフレームがある場合、(3)そのウィンドウが同一端末上で唯一のフレームの唯一のウィンドウの場合、を明確に区別することにします。

特に、delete-windows-on(Deleting Windowsを参照)は関連するフレームを削除する際にケース(2)を、フレーム上で唯一のウィンドウに他のバッファーを表示する際にケース(3)を処理します。バッファーがkillされる際に呼び出される関数replace-buffer-in-windows(see Buffers and Windows)は、ケース(1)ではウィンドウを削除して、それ以外ではdelete-windows-onのように振る舞います。

bury-buffer(Buffer Listを参照)が選択されたウィンドウを操作する際は、選択されたフレームを処理するために、frame-auto-hide-function(Quitting Windowsを参照)を呼び出すことにより、ケース(2)を取り扱います。他の2つのケースは、replace-buffer-in-windowsと同様に処理されます。

Function: window-dedicated-p &optional window

この関数は、windowがそのバッファーにたいして専用なら非nil、それ以外はnilをリターンする。より正確には、最後のset-window-dedicated-p呼び出しで割り当てられた値、またはset-window-dedicated-pwindowを引数として呼び出されたことがない場合はnilがリターン値となる。windowのデフォルトは、選択されたウィンドウである。

Function: set-window-dedicated-p window flag

この関数は、flagが非nilならwindowがそのバッファーに専用とマークし、それ以外は非専用とマークする。

特別なケースとして、flagtの場合、windowはそのバッファーにたいして特に専用(strongly dedicated)となる。set-window-bufferは、処理対象のウィンドウが特に専用のウィンドウで、かつ表示を要求されたバッファーが表示済みでない場合は、エラーをシグナルする。その他の関数は、tを他の非nil値と区別して扱わない。