elispで多態的なコールバックを実装する慣用方法は何ですか?Emacs/Elispにおける多態的コールバック
具体的には、特定の操作を実行して別の関数を呼び出す関数を持つマイナーモードがあるとします。この2番目の関数は、現在のバッファにC++ファイルまたはJavaファイルが含まれているかどうかによって異なる実装を持つ必要があります。
また、関数ではなく変数をオーバーロードしたいとします。たとえば、いくつかの外部実行可能ファイルを呼び出すとします。渡される引数の1つは、現在のバッファにC++ファイルまたはJavaファイルがあるかどうかによって異なります。私はジェネリック関数でコマンドラインを構築し、バッファの内容に応じて1つの引数を代入できるようにしたい。 make-variable-buffer-local
は正しいアプローチですか?これらのローカル変数は、どの時点(どの機構によって)に最初に設定されていたのでしょうか?
私は 'make-variable-buffer-local'と' funcall'が 'indent-line-function'で取り上げられたアプローチであることに気付きました。 – Ray