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


37.5.2 警告のための変数

このセクション内で説明する変数をバインドすることにより、プログラムは警告が表示される方法をカスタマイズできます。

Variable: warning-levels

このリストは警告の重大レベルの意味と重大度の順序を定義する。それぞれの要素は1つの重大レベルを定義して、それらを重大度の降順で配置した。

各要素は(level string function)という形式をもち、levelはその要素が定義する重大レベル。stringはそのレベルのテキストによる説明。stringは警告タイプ情報の配置箇所の指定に‘%s’を使用するか、さもなくばその情報を含まぬよう‘%s’を省略できる。

オプションのfunctionが非nilなら、これはユーザーの注目を得るために引数なしで呼び出される関数であること。

通常はこの変数の値を変更しないこと。

Variable: warning-prefix-function

値が非nilなら、それは警告用にプレフィックスを生成する関数であること。プログラムはこの変数を適切な関数にバインドできる。display-warningはwarningsバッファーがカレントの状態でこの関数を呼び出して、関数はそのバッファーにテキストを挿入できる。そのテキストが警告メッセージの先頭になる。

この関数は重大レベル、およびwarning-levels内でのその重大レベルのエントリーという2つの引数で呼び出される。これはエントリーとして使用するためのリストをリターンすること(この値はwarning-levelsの実際のメンバーである必要はない)。この値を構築することにより関数はその警告の重大レベルを変更したり、与えられた重大レベルにたいして異なる処理を指定することができる。

この変数の値がnilなら呼び出される関数は存在しない。

Variable: warning-series

プログラムは次の警告がシリーズの開始であることを告げるために、この変数をtにバインドできる。複数の警告がシリーズを形成するということは、それぞれの警告にたいしてポイントが維持されるように移動して、最後の警告にポイントが表示されるのではなくシリーズの最初の警告にポイントを残すことを意味する。このシリーズは、そのローカルバインドが非バインドされてwarning-seriesが再びnilになったときに終了する。

この値は関数定義をもつシンボルでもよい。これは次の警告によりwarningsバッファーがカレントの状態で、引数なしでその関数が呼び出されることを除きtと等価。この関数は警告シリーズのヘッダーの役目をもつであろうテキストを挿入できる。

あるシリーズが開始されると、その値はwarningsバッファー内でシリーズ開始となるバッファー位置を指すマーカーとなる。

この変数の通常の値はnilで、これはそれぞれの警告を個別に処理することを意味する。

Variable: warning-fill-prefix

この変数が非nilなら、それは各警告テキストのフィルに使用するフィルプレフィックスを指定する。

Variable: warning-type-format

この変数は警告メッセージ内の警告タイプを表示するためのフォーマットを指定する。この方法でフォーマットされたタイプは、warning-levels内のエントリー内の文字列制御下にあるメッセージに含まれることになる。デフォルト値は" (%s)"。これを""にバインドすると警告タイプはまったく表示されなくなる。