define-derived-mode
сама создает карту ключей с именем MODE-map, где MODE - это имя карты ключей, которую вы только что определили. Я не уверен, что derive-mode-set-keymap
делает то, что еще не сделано с define-derived-mode
; глядя на источник, они делают схожие вещи, и я не уверен в очень низком уровне различий между этими двумя (например, define-derived-mode
оставляет таблицу ключей родительского режима в качестве родителя новой карты ключей, тогда как ` -keymap также объединяет раскладки клавиш; в чем функциональная разница между ними?).
Если вы делаете следующее:
(define-derived-mode foobar-mode text-mode "foo")
Тогда будут определены следующие переменные:
foobar-mode-abbrev-table
foobar-mode-hook
foobar-mode-map
foobar-mode-syntax-table
Затем вы можете начать манипулировать любым из них по своему усмотрению.