GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Delayed-Warnings.html ・ emacs-doc.conao3.com

42.5.4 遅延警告

コマンドの実行中に警告を表示せず、コマンドの終了後にのみ表示したい場合があります。これには delay-warning 関数を使用できます。Emacs は、起動初期段階で出力される警告を自動的に遅延させ、init ファイルの処理が完了した後にのみ表示します。

関数: delay-warning type message &optional level buffer-name

この関数は display-warning の遅延版であり(警告の基本を参照)、同じ引数で呼び出されます。警告メッセージは delayed-warnings-list にキューに追加されます。

変数: delayed-warnings-list

この変数の値は、現在のコマンドの終了後に表示される警告のリストです。各要素はリストである必要があります。

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

display-warning の引数リストと同じ形式および意味を持ちます。post-command-hook を実行した直後(コマンドループの概要を参照)、Emacs のコマンドループはこの変数で指定されたすべての警告を表示し、その後、変数を nil にリセットします。

遅延警告機構をさらにカスタマイズする必要があるプログラムは、変数 delayed-warnings-hook を変更できます:

変数: delayed-warnings-hook

これは、遅延された警告を処理・表示するために、post-command-hook の後に Emacs のコマンドループによって実行される通常のフックです。また、それ以前に出力された警告は自動的に遅延されるため、Emacs は起動時に site-start および user init ファイルを読み込んだ後(概要:起動時の動作シーケンス を参照)にもこのフックを実行します。

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

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

関数 collapse-delayed-warnings は、delayed-warnings-list から重複するエントリを削除します。関数 display-delayed-warnings は、delayed-warnings-list の各エントリに対して順に display-warning を呼び出し、その後 delayed-warnings-list に nil を代入します。