Emacs имя текущей локальной таблицы ключей?

Я пишу функцию elisp, которая постоянно связывает данный ключ с данной командой в таблице ключей текущего основного режима. Например,

    (define-key python-mode-map [C-f1] 'python-describe-symbol)

Команда и последовательность клавиш собираются в интерактивном режиме от пользователя. Однако у меня возникают проблемы при создании имени KEYMAP (например, «python-mode-map»), которое соответствует текущему основному режиму.

Я пробовал функцию (current-local-map), но эта функция возвращает сам объект раскладки, а не его имя.

Я понимаю, что многие сопоставления основных режимов именуются в соответствии с соглашением 'major-mode-name'-mode-map ', однако это не всегда так (например, python-shell-map), поэтому я бы предпочел мой код не полагаться на это соглашение. (Я даже не уверен, как получить доступ к названию текущего основного режима).

(define-key ...) должен быть добавлен в файл инициализации, поэтому, хотя

(define-key (current-local-map) key command)

кажется, работает, он не работает как код в файле инициализации.

Ответы на вопрос(3)

Ваш ответ на вопрос