Next: , Previous: , Up: 警告のレポート   [Contents][Index]


41.5.2 警告のための変数

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

Variable: warning-levels

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

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

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

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

Variable: warning-prefix-function

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

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

変数の値がnilなら警告が表示される前のプレフィックステキストは存在せず、その警告のレベルに応じたwarning-levels内のエントリーのstring部分から始まる。

Variable: warning-series

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

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

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

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

Variable: warning-fill-prefix

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

Variable: warning-fill-column

警告をフィルする列。

Variable: warning-type-format

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