Next: Window Point, Previous: Dedicated Windows, Up: Windows [Contents][Index]
バッファーを表示するために使用しているウィンドウを削除したいときは、フレームからそのウィンドウを削除するために、delete-window
やdelete-windows-on
を呼び出すことができます(Deleting Windowsを参照)。その、が別フレームで表示されているときは、かわりにdelete-frame
を呼び出したいと思うかもしれません(Deleting Framesを参照)。一方で、そのバッファーを表示するためにウィンドウが再利用されている場合は、関数switch-to-prev-buffer
を呼び出して、前に表示されていたバッファーを表示したいと思うかもしれません(Window Historyを参照)。最終的には、そのウィンドウのバッファーをバリー(Buffer Listを参照)、またはkill(Killing Buffersを参照)したいと思うかもしれません。
以下のコマンドは、ウィンドウがバッファーを表示する方法を最初に入手する情報を使用して、上述した説明の自動化を試みます。
このコマンドは、windowをquitして、そのバッファーをバリーする。引数windowは生きたウィンドウでなければならず、デフォルトは選択されたウィンドウである。プレフィックス引数killが非nil
なら、バッファーをバリーするかわりにkillする。これは、ウィンドウとそのバッファーを処理するために、次に説明する関数quit-restore-window
を呼び出す。
この関数は、windowにたいして、そのバッファーが表示される前に存在した状態へのリストアを試みる。オプション引数windowは生きたウィンドウでなければならず、デフォルトは選択されたウィンドウである。
windowがそのバッファーを表示するために特別に作成されたバッファーの場合、この関数はそのフレームに他に少なくとも1つの生きたウィンドウがなければ、windowを削除しない。windowがそのフレームで唯一のウィンドウであり、かつそのフレームの端末上に他のフレームが存在する場合、オプション引数bury-or-killがそのウィンドウをどうするかを決定する。If
equals
kill
の場合は、無条件でフレームは削除される。それ以外では、フレームの運命はそのフレームを単一の引数とするframe-auto-hide-function
(以下参照)呼び出しにより決定される。
特別に作成されたウィンドウでない場合、この関数はwindow内で前に表示されていたバッファーの再表示を試みる。これは、前に表示されていたバッファーのウィンドウのスタート位置(Window Start and Endを参照)とポイント位置(Window Pointを参照)のリストアも試みる。加えて、windowのバッファーが過去に一時的にリサイズされていた場合、この関数はwindowの元の高さのリストアも試みる。
これまで説明したケースでは、window内で表示されているバッファーは、依然としてそのウィンドウにたいする最後のバッファー表示関数で表示されたバッファーである。その時点で他のバッファーが表示されている、または前に表示されていたバッファーがもはや存在しない場合、この関数はかわりに何か他のバッファーを表示するために、switch-to-prev-buffer
(Window Historyを参照)を呼び出す。
オプション引数bury-or-killは、windowを処理する方法を指定し、以下の値を処理する。
nil
これは、バッファーを特別な方法で処理しないことを意味する。結果、windowが削除されない場合は、switch-to-prev-buffer
の呼び出しにより、通常はそのバッファーが再び表示されるだろう。
append
これは、windowが削除されない場合、そのバッファーをwindowの前のバッファーリストの最後に移動するので、将来のswitch-to-prev-buffer
呼び出しでこのバッファーには切り替わることは少なくなる。これは、そのバッファーをフレームのバッファーリストの最後への移動も行う。
bury
これは、windowが削除されない場合、そのバッファーをwindowの前のバッファーリストから削除する。これは、そのバッファーをフレームのバッファーリストの最後への移動も行う。この値は、バッファーをkillすることなくswitch-to-prev-buffer
がこのバッファーに再び切り替えさせないようにする、もっとも信頼できる解決手段を提供する。
kill
これは、windowのバッファーをkillすることを意味する。
quit-restore-window
は、windowのquit-restore
ウィンドウパラメーター(Window Parametersを参照)の情報にもとづき判定を行い、処理後にそれをnil
にリセットしている。
以下のオプションは、quitすべきウィンドウ、あるいはバリーすべきバッファーをもつウィンドウを1つだけ含むフレームを処理する方法を指定します。
このオプションで指定された関数は、自動的にフレームを隠すために呼び出される。この関数は、フレームを唯一の引数として呼び出される。
ここで指定される関数は、選択されたウィンドウが専用(dedicated)で、かつバリーされるバッファーを表示しているときに、bury-buffer
(Buffer Listを参照)から呼び出される。また、quitされるウィンドウのフレームが、そのウィンドウのバッファーを表示するために特別に作成されたフレームで、かつそのバッファーがkillされないときにも、quit-restore-window
(上記)から呼び出される。
デフォルトでは、iconify-frame
(Visibility of Framesを参照)を呼び出す。かわりに、フレームをディスプレイから削除するdelete-frame
(Deleting Framesを参照)、フレームを変更せずに残すignore
、またはフレームを唯一の引数とする任意の関数のいずれかを指定できる。
このオプションで指定された関数は、指定されたフレームが生きたウィンドウただ1つを含み、かつ同一端末上に少なくとも1つ他のフレームが存在する場合のみ呼び出されることに注意。