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


39.5.4 遅延された警告

コマンド実行中には警告の表示を避けてコマンドの終わりでのみ警告を表示したいことがあるかもしれません。これは変数delayed-warnings-listにより行うことができます。

Variable: delayed-warnings-list

この変数の値はカレントのコマンド完了後に表示される警告のリスト。各要素は以下のようなリストでなければならない:

(type message [level [buffer-name]])

これらはdisplay-warningの引数リストと同じ形式、同じ意味である(Warning Basicsを参照)。post-command-hook (Command Overviewを参照)の実行直後に、Emacsのコマンドループはこの変数で指定されたすべての警告を表示してから変数をnilにリセットする。

遅延警告メカニズムをよりカスタマイズする必要があるプログラムは変数delayed-warnings-hookを変更することができます:

Variable: delayed-warnings-hook

これは遅延警告を処理して表示するために、post-command-hookの後にEmacsコマンドループが実行するノーマルフック。

デフォルト値は2つの関数からなるリスト:

(collapse-delayed-warnings display-delayed-warnings)

関数collapse-delayed-warningsdelayed-warnings-listから重複するエントリーを削除する。関数display-delayed-warningsdelayed-warnings-list内の各要素にたいして順次display-warningを呼び出してから、delayed-warnings-listnilにセットする。