このセクションではノーマルフックを実行するために使用されるrun-hooks
について説明します。またさまざまな種類のアブノーマルフックを実行する関数についても説明します。
この関数は引数として1つ以上のノーマルフック変数名を受け取って、各フックを順に実行する。引数はそれぞれノーマルフック変数であるようなシンボルであること。これらの引数は指定された順に処理される。
フック変数の値が非nil
ならその値は関数のリストであること。run-hooks
はすべての関数を引数なしで1つずつ呼び出す。
フック変数の値には、単一の関数(ラムダ式、またはシンボルの関数定義)も指定でき、その場合run-hooks
はそれを呼び出す。しかしこの使い方は時代遅れである。
フック変数がバッファーローカルならグローバル変数のかわりにそのバッファーローカル変数が使用される。しかしそのバッファーローカル変数が要素t
を含む場合には、そのグローバルフック変数も同様に実行されるだろう。
この関数は、hook内のすべての関数に1つの引数argsを渡して呼び出すことによってアブノーマルフックを実行する。
この関数は各フック関数を順に呼び出すことによりアブノーマルフック関数を実行し、それらのうち1つがnil
をリターンして失敗すると停止する。それぞれのフック関数は引数としてargsを渡される。この関数はフック関数の1つが失敗して停止したらnil
、それ以外は非nil
値をリターンする。
この関数は各フック関数を順に呼び出すことによりアブノーマルフック関数を実行して、それらのうち1つが非nil
値をリターンして成功したら停止する。それぞれのフック関数は引数としてargsを渡される。この関数はフック関数の1つが失敗して停止したらその値、それ以外はnil
をリターンする。