Related:
- https://stackoverflow.com/questions/7598433/how-to-remove-a-key-from-a-minor-mode-keymap-in-emacs
- How can I find out in which keymap a key is bound?
There is a default key binding in ESS that I accidentally trigger periodically: C-c C-e r
calls inferior-ess-reload
which kills and restarts my running R process. (It is close-enough to C-c C-e w ess-execute-screen-options
that my finger might tap the R
key.)
I know the map to which it is assigned (https://github.com/emacs-ess/ESS/blob/master/lisp/ess-mode.el#L115). I'm trying to add an unbind to a package hook, either of
(define-key ess-extra-map "\C-c\C-er" nil)
(define-key ess-extra-map (kbd "C-c C-e r") nil)
but after running those commands, C-h b
and C-h C-k C-c C-e r
confirm that it is still bound.
A third option would be to just comment-out those lines in ess-mode.el
, but that won't survive updates.
Is there a better way to do it?
GNU Emacs 26.2 (build 1, x86_64-w64-mingw32) of 2019-04-13
ess-version: 18.10.3snapshot [elpa: 20190814.1054] (loaded from c:/Users/r2/.emacs.d/elpa/ess-20190814.1054/)
Update 1
From Drew's suggestion, here is the relevant portion of C-h b
, filtering for C-c C-e
:
Key translations:
key binding
--- -------
...
C-c C-b ess-eval-buffer
C-c C-c ess-eval-region-or-function-or-paragraph-and-step
C-c C-d ess-doc-map
C-c C-e ess-extra-map
C-c C-f ess-eval-function
...
C-c C-e C-c Prefix Command
C-c C-e C-d ess-dump-object-into-edit-buffer
C-c C-e C-e ess-execute
C-c C-e TAB ess-install-library
C-c C-e C-l ess-load-library
C-c C-e C-r inferior-ess-reload
C-c C-e C-s ess-set-style
C-c C-e C-t ess-build-tags-for-directory
C-c C-e C-w ess-execute-screen-options
C-c C-e / ess-set-working-directory
C-c C-e C Prefix Command
C-c C-e d ess-dump-object-into-edit-buffer
C-c C-e e ess-execute
C-c C-e i ess-install-library
C-c C-e l ess-load-library
C-c C-e r inferior-ess-reload
C-c C-e s ess-set-style
C-c C-e t ess-build-tags-for-directory
C-c C-e w ess-execute-screen-options
...
Global Bindings:
key binding
--- -------
...
C-c C-e Prefix Command
...
I'm not certain why C-c C-e
is shown in both "Key translations" and "Global Bindings", is that an issue?