Next: Display Action Functions, Previous: Switching Buffers, Up: Windows [Contents][Index]
コマンドdisplay-buffer
は、表示のために柔軟にウィンドウを選択して、そのウィンドウ内に指定されたバッファーを表示します。これは、キーバインディングC-x
4
C-oを通じて、インタラクティブに呼び出すことができます。また、switch-to-buffer
やpop-to-buffer
を含む、多くの関数およびコマンドにより、サブルーチンとしても使用されます(Switching Buffersを参照)。
このコマンドは、ウィンドウ内に表示するウィンドウを探すために、いくつかの複雑なステップを実行します。これらのステップはディスプレイアクション(display
actions)を用いて記述されます。ディスプレイアクションは、(function
.
alist)
という形式をもちます。ここで、functionは関数、または関数リストで、わたしたちはこれをアクション関数(action
functions)として参照します。alistは連想リスト(association
list)で、わたしたちはこれをアクションalist(action alists)として参照します。
アクション関数は、表示するバッファーと、アクションalistという、2つの引数を受け取ります。これは、自身の条件にしたがってウィンドウウィンドウ選択、または作成して、バッファーをウィンドウ内に表示します。成功した場合はそのウィンドウ、それ以外はnil
をリターンします。事前定義されたアクション関数については、Display Action Functionsを参照してください。
display-buffer
は、複数ソースからのディスプレイアクションを組み合わせて、アクション関数のいずれか1つがバッファーの表示を管理して非nil
値をリターンするまで、アクション関数を順に呼び出します。
このコマンドは、ウィンドウウィンドウ選択したり、そのバッファーをカレントにすることなく、buffer-or-nameをウィンドウに表示させる。引数buffer-or-nameはバッファー、または既存のバッファーの名前でなければならない。リターン値は、そのバッファーを表示するために選ばれたウィンドウである。
オプション引数actionが非nil
の場合、それは通常はディスプレイアクション(上述)であること。display-buffer
は、以下のソース(記載順)からディスプレイアクションを集約して、アクション関数リストとアクションalistを構築する:
display-buffer-overriding-action
。
display-buffer-alist
。
display-buffer-base-action
。
display-buffer-fallback-action
。
各アクション関数は、いずれかが非nil
をリターンするまで、第1引数にバッファー、第2引数に組み合わせられたアクションalistで、順番に呼び出される。呼び出し側は、ウィンドウ内にバッファーを表示しない場合を処理する用意があることを示すために、アクションalistの要素として(allow-no-window
. t)
を渡すことができる。
引数actionには非nil
の非list値も指定できる。これは、たとえ選択されたウィンドウがすでにそのバッファーを表示していても、選択されたウィンドウではない別のウィンドウにバッファーが表示されるべきだという、特別な意味をもつ。プレフィックス引数とともにインタラクティブに呼び出された場合、actionはt
である。
オプション引数frameが非nil
の場合は、そのバッファーがすでに表示されているか判断する際、どのフレームをチェックするかを指定する。これはactionのアクションalistに、要素(reusable-frames
. frame)
を追加するのと等価である。Display Action Functionsを参照のこと。
この変数の値は、display-buffer
により最高の優先順で扱われるディスプレイアクションであること。デフォルト値は空(つまり(nil
. nil)
)である。
このオプションの値は、ディスプレイアクションにコンディション(condition:
状態)をマップするalistである。コンディションはそれぞれ、バッファー名にマッチする正規表現か、2つの引数をとる関数で、引数はバッファー名とdisplay-buffer
に渡すaction引数である。display-buffer
に渡されたバッファー名がこのalist内の正規表現にマッチするか、コンディションで指定された関数が非nil
をリターンした場合、display-buffer
はバッファーを表示すために、対応するディスプレイアクションを使用する。
このオプションの値は、ディスプレイアクションであること。このオプションは、display-buffer
呼び出しにたいする、“標準”のディスプレイアクションを定義するために使用できる。
このディスプレイアクションは、display-buffer
にたいして、他のディスプレイアクションが与えられなかった場合の代替え処理を指定する。