これらの変数は、Lispプログラムが警告を出力した際にどのような動作を行うかをユーザーが制御するために使用されます。
このユーザーオプションは、警告バッファを表示するウィンドウを制御します。デフォルトでは値は t
となっており、Emacs は選択中のフレームの下部にあるウィンドウに警告バッファを表示し、必要に応じてそこに新しいウィンドウを作成します。nil にカスタマイズした場合、警告バッファは display-buffer のデフォルトルール(バッファ表示用ウィンドウの選択 を参照)に従って表示されます。その場合、display-buffer-alist で warning
カテゴリを使用して、display-buffer
がこれらのバッファをどのように表示するかをカスタマイズできます(バッファ表示用のアクションアリスタ を参照)。
このユーザーオプションは、何らかのウィンドウに警告バッファをポップアップ表示することで、ユーザーに即座に提示すべき最小の深刻度レベルを指定します。デフォルトは
:warning であり、これは :debug
以外のすべての警告深刻度に対して警告バッファを表示することを意味します。より低い深刻度レベルの警告も引き続き警告バッファに書き込まれますが、バッファが強制的に表示されることはありません。
このユーザーオプションは、警告バッファに記録すべき最小の深刻度レベルを指定します。これより深刻度の低い警告は完全に無視され、警告バッファに書き込まれることも、表示されることもありません。デフォルトは
:warning で、これは :debug
以外のあらゆる深刻度の警告を記録することを意味します。
このリストでは、どの警告タイプが発生した際に即座に表示すべきでないかを指定します。リストの各要素はシンボルのリストである必要があります。このリストの要素が、ある警告タイプの先頭要素と同じ要素を持つ場合、そのタイプの警告はいずれかのウィンドウの警告バッファをポップしてディスプレイに表示されることはありません(ただし、警告は引き続き警告バッファに記録されます)。
例えば、この変数の値が次のようなリストである場合:
((foo) (bar subtype))
その場合、型が foo または (foo)
または (foo something) または (bar subtype other) である警告は、ユーザーに表示されません。
このリストでは、どの警告タイプを無視すべきか(警告バッファに記録せず、ユーザーにも表示しない)を指定します。警告タイプの構造と照合方法は、前述の
warning-suppress-types と同様です。
起動時、Emacsはサイト全体およびユーザーのinitファイルを読み込んで処理するまで、警告の表示を保留します(概要:起動時の動作シーケンスを参照)。そのため、警告を発生させる可能性のあるinitファイル内のコード周辺で、これらのオプションの値をlet-binding(ローカル変数を参照)で定義しても、実際に警告が処理される時点ではその設定が有効になっていないため、機能しません。したがって、起動時に一部の警告を抑制したい場合は、initファイル内で上記のオプションの値を十分に早い段階で変更するか、それらのlet-binding形式をafter-init-hookまたはemacs-startup-hook関数内に記述してください。initファイルを参照してください。