このセクション内で説明する変数をバインドすることにより、プログラムは警告が表示される方法をカスタマイズできます。
このリストは警告の重大度レベルの意味と重大度の順序を定義する。それぞれの要素は1つの重大度レベルを定義して、それらを重大度の降順で配置した。
各要素は(level string [function])
という形式をもち、levelはその要素が定義する重大度レベル。stringはそのレベルのテキストによる説明。stringは警告タイプ情報の配置箇所の指定に‘%s’を使用するか、さもなくばその情報を含まぬよう‘%s’を省略できる。
オプションのfunctionが非nil
なら、これはユーザーの注目を得るために引数なしで呼び出される関数であること。ding
の例は注目に値する(ビープを参照)。
通常はこの変数の値を変更しないこと。
値が非nil
なら、それは警告用にプレフィックスを生成する関数であること。プログラムはこの変数を適切な関数にバインドできる。display-warning
はwarningsバッファーがカレントの状態でこの関数を呼び出して、関数はそのバッファーにテキストを挿入できる。そのテキストが警告メッセージの先頭になる。
この関数は重大度レベル、およびwarning-levels
内でのその重大度レベルのエントリーという2つの引数で呼び出される。これはエントリーのかわりに使用するためのリストをリターンすること(この値はwarning-levels
の実際のメンバーである必要はないが同じ後続でなければならない)。この値を構築することにより関数はその警告の重大度レベルを変更したり、与えられた重大度レベルにたいして異なる処理を指定することができる。
変数の値がnil
なら警告が表示される前のプレフィックステキストは存在せず、その警告のレベルに応じたwarning-levels
内のエントリーのstring部分から始まる。
プログラムは次の警告がシリーズの開始であることを告げるために、この変数をt
にバインドできる。複数の警告がシリーズを形成するということは、それぞれの警告にたいしてポイントが維持されるように移動して、最後の警告にポイントが表示されるのではなくシリーズの最初の警告にポイントを残すことを意味する。このシリーズはこの変数のローカルバインドが解消されてwarning-series
が再びnil
になったときに終了する。
この値は関数定義をもつシンボルでもよい。これは次の警告によりwarningsバッファーがカレントの状態で、引数なしでその関数が呼び出されることを除きt
と等価。この関数はたとえば警告シリーズのヘッダーの役目をもつであろうテキストを挿入できる。
あるシリーズが開始されると、この変数の値はwarningsバッファー内でシリーズ開始となるバッファー位置を指すマーカーとなる。
この変数の通常の値はnil
で、これはそれぞれの警告を個別に処理することを意味する。
この変数が非nil
なら、警告それぞれのテキストのフィルに使用するフィルプレフィックスを指定する。
警告をフィルする列。
この変数は警告テキスト内の警告タイプを表示するためのフォーマットを指定する。この方法でフォーマットされたタイプは、warning-levels
内のエントリー内の文字列制御下にあるメッセージに含まれることになる。デフォルト値は"
(%s)"
。これを空文字列""
にバインドすると警告タイプはまったく表示されなくなる。