基本的なモードの定義は、次のような感じ。
(defun foo-mode () "Foo mode の説明" (interactive) (kill-all-local-variables) (use-local-map foo-mode-map) (setq mode-name "Foo mode") (run-hooks 'foo-mode-hook))
ただし、キーマップ変数 foo-mode-map は別に定義しないといけな い。これは次の節で説明する。
ともかく、kill-all-local-variables
で局
所的な変数を消して、新しいキーマップに foo-mode-map を指定
し、モード行に表示する文字列を書いて、最後に foo-mode-hook
という hook があれば実行させるわけである。この最後の部分はなくてもいい
が、お約束としてつけておくのがいいだろう。また、キーマップの名前も何で
もよいが、これもお約束として モード名-map という名前にすべ
きだ。