Using (layout +bepo), (evil +everywhere) and magit: in magit buffers, including e.g. magit status buffer, k is bound to evil-previous-line as if no remapping happened.
What did you expect to happen?
(layout +bepo) remaps keybindings for bepo layout keyboards. Combined with evil-mode, this means keys hjkl are remapped to bepo’s homerow ctsr.
Therefore in magit, k (instead of s) should be bound to magit-stage.
Steps to reproduce
Enable :input (layout +bepo), :editor (evil +everywhere), and :tools magit in init.el
Open the magit status buffer in some git directory.
Press k while the point is on some file, or press SPC h k k to observe that k is bound on evil-previous-visual-line.
Using which-key to display magit-status-mode-map shows that k is bound to magit-stage as expected. However, inspecting the same keymap with helpful-variable shows 3 keybindings for <normal-mode> k: one on evil-previous-line and two on nil (which is kind of confusing to me).
Thanks for the report, I’ll try to take a look at some point next week. As you can see by the size of the comments, the magit section has already given me a few headaches. I think I’ll actually need to remap manually k and j to fix it, but unsure yet.
Just to rule out something else spicy going on, can you try to hit gk on a file, and tell me whether that stages it or does nothing ?
I’ll take advantage of this message to say that I’m looking for a successor to maintain the bepo module; mostly because I’m using Optimot now, and I think I won’t do so many remappings for optimot too. At least I don’t think so yet.
There was a lot of changes recently regarding the way packages are loaded (and the CPU spikes are coming from Emacs running native compilation “just in time” when you first require a module rather than “ahead of time” during a long last step of doom sync/up). I’ll try to keep an eye on this but I really think that this issue is unrelated to the bépo change (which really only affects magit as far as I remember)
I did more testing (I am not that comfortable with Emacs lisp, unfortunately) you are correct, the commit itself did not cause the issue. I drop the commit and the issue was still there. So I guess the ongoing refactoring is responsible
I’ll try to do more digging when I have time, hopefully the issue will get resolved as @hlissner is (I’m guessing) still busy refactoring lots of parts.
I’m also having this issue. Disabling the layout module make emacs usable (well, except for muscle memory). I first reported this on the discord: Discord and there was some discussion there, but not much crucial information.