It seems that when using define-derived-mode
, the new mode's keymap is merged with that of the parent mode. Is there a way to avoid this? That is, to inherit font-lock, etc. from the parent mode, but have a completely new keymap.
E.g.
(defvar foo-mode-map
(let ((map (copy-keymap special-mode-map)))
(define-key map (kbd "n") #'next-line)
(define-key map (kbd "p") #'previous-line)
map)
"Keymap for foo-mode.")
(define-derived-mode foo-mode java-mode "Foo"
"Major mode derived from `java-mode'.
\\{foo-mode-map}")
I'd like foo-mode
to use foo-mode-map
without any key sequences from java-mode-map
.