次: , 前: Splitting Windows, 上: Windows


27.3 ウィンドウの削除

ウィンドウを削除するある種の関数を呼び出して ウィンドウを削除しない限り、 ウィンドウはそのフレームに表示され続けます。 削除されたウィンドウがスクリーンに現れることはありませんが、 それを参照するものがある限りLispオブジェクトととしては 存在し続けます。 保存したウィンドウ構成(see Window Configurations)を復元する以外には、 ウィンドウの削除は取り消せません。 ウィンドウ構成を復元すると、 その構成に含まれないウィンドウはすべて削除されます。

ウィンドウを削除すると、それが使っていた場所は 近接する兄弟ウィンドウの1つに与えられます。

— 機能: window-live-p window

この関数は、windowが削除されているとnilを返し、 さもなければtを返す。

警告: 削除されたウィンドウを正しいものとして使うと、 誤った情報や重大なエラーを引き起こす。

— コマンド: delete-window &optional window

この関数は、ディスプレイからwindowを取りさり、nilを返す。 windowを省略すると、選択されているウィンドウを削除する。 delete-windowを呼び出したときにたった1つのウィンドウしかないと エラーを通知する。

— コマンド: delete-other-windows &optional window

この関数は、windowのフレームにある他のウィンドウを削除して windowを当該フレームで唯一のウィンドウにする。 windowを省略したりnilであると、 選択されているウィンドウをデフォルトで使う。

これはnilを返す。

— コマンド: delete-windows-on buffer &optional frame

この関数は、bufferを表示しているすべてのウィンドウを削除する。 bufferを表示しているウィンドウがなければなにもしない。

delete-windows-onはフレームを1つ1つ処理する。 フレームに異なるバッファを表示しているウィンドウが複数ある場合、 それらのうちでbufferを表示しているものを削除し、 他のものは空いた領域を埋めるために拡張される。 あるフレームのすべてのウィンドウ(たった1つのウィンドウである場合も含む) がbufferを表示している場合、当該フレームは、 other-bufferで選ばれる別のバッファを表示する 1つのウィンドウだけになる。 see The Buffer List

引数frameは、どのフレームを対象にするかを指定する。 この関数は、すべてのウィンドウを走査する他の関数と同じようには frameを使わない。 特に、tnilの値の意味は他の関数とは逆である。 以下に詳細を示す。

この関数はつねにnilを返す。