Closed dsedivec closed 4 years ago
Seeing the same in other comint-derived modes: inferior-python-mode
and shell-mode
. (on develop branch, hybrid editing style)
This is an old upstream bug in Evil: https://github.com/emacs-evil/evil/issues/344
I use this piece of code to fix the problem, it's not ideal but at least it lets me use paredit in IELM buffer:
(defun my/fix-evil-hiding-minor-mode-map (&rest _args)
"See `https://github.com/syl20bnr/spacemacs/issues/9391'"
(let ((mjm-keymap (intern-soft (format "%s-map" major-mode))))
(when mjm-keymap
(setq evil-mode-map-alist
(cl-loop for (c . k) in evil-mode-map-alist
unless (and (eq c t) (eq k (symbol-value mjm-keymap)))
collect (cons c k))))))
(advice-add 'evil-normalize-keymaps :after #'my/fix-evil-hiding-minor-mode-map)
Hope it helps!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Please let us know if this issue is still valid!
Description :octocat:
IELM buffers get all their menus doubled, and keys in
ielm-map
cannot be overridden by minor modes such as paredit.Reproduction guide :beetle:
M-x ielm RET
to enter a new IELM bufferObserved behaviour: :eyes: :broken_heart:
ielm-map
cannot be overridden. While you can, for example, enableparedit-mode
in the buffer, backspace will still bebackward-delete-char-untabify
fromielm-map
.Expected behaviour: :heart: :smile:
paredit-mode
take precedence over bindings in the major mode's map,ielm-map
(AKAinferior-emacs-lisp-mode-map
).Something is putting
ielm-map
intoevil-mode-map-alist
like(cons t ielm-map)
in IELM buffers.evil-mode-map-alist
, in turn, is always inemulation-mode-map-alists
in Spacemacs (AFAIK), which meansielm-map
bindings always override minor mode maps in IELM buffers.I have not observed this change in
evil-mode-map-alist
in other modes so far. When editing an Emacs Lisp file, or even in thespacemacs/report-issue-mode
buffer where I am typing this bug report,evil-mode-map-alist
is simply (and remember that I'm in holy mode):I cannot figure out what is putting
ielm-map
inevil-mode-map-alist
.System Info :computer: