以下を使用してソースコードファイルを開いたときに、プログラミング言語に応じた関数を実行したい。関数に言語固有のものを渡す必要がstr
ありfoo
ます。add-hook
声明でそれをどのように行うことができますか?
(defun foo (str)
(blahblah...))
(add-hook 'prog-mode-hook 'foo)
悪いニュースは、通常、モード フックには引数がないことです。良いニュースは、マニュアルの(emacs)フックセクションがあなたの状況について何を言わなければならないかということです:
ほとんどの主要なモードは、初期化の最後のステップとして 1 つ以上の「モード フック」を実行します。
したがって、私はそれを自分でテストしませんでしたが、major-mode
変数を検査し、代わりにモード固有のアクションを実行する汎用フックを作成できると確信しています。