Emacs Keys: Minor Modes Key Priority

By Xah Lee. Date: . Last updated: .

This page shows you how to change minor modes's key priority. [see Emacs: What is Minor Mode]

minor-mode-map-alist

Minor mode's keys priority depends on the variable minor-mode-map-alist .

minor-mode-map-alist is a Association List .

Each element of minor-mode-map-alist is a cons pair, of the form

(cons 'minor_mode_x_var minor_mode_x_keymap)

The minor_mode_x_var is a variable of the same name of the command to toggle the minor mode, and has value of t or nil. (all minor modes have this variable)

The minor_mode_x_keymap is a keymap for that minor mode. (keymap is basically a list, used for keybinding. Format of Keymaps (ELISP Manual) )

Each minor_mode_x_var may have value true or false. When true, it means the corresponding keymap is active.

Emacs goes thru the active one in minor-mode-map-alist, the front ones has priority.

Note: emacs has other mechanisms about priority of keys.

Controlling Active Maps (ELISP Manual)

Show Minor Mode Key Priority

You can use this command to show minor mode key priority.

(defun xah-display-minor-mode-key-priority  ()
  "Print out minor mode's key priority.
URL `http://xahlee.info/emacs/emacs/minor_mode_key_priority.html'
Version 2017-01-27"
  (interactive)
  (mapc
   (lambda (x) (prin1 (car x)) (terpri))
   minor-mode-map-alist))

Emacs, Change Keys