evil
evil copied to clipboard
evil-local-mode altering match data causing org-mode tables to hang
Issue type
- Bug report
Environment
Emacs version: GNU Emacs 28.1 (build 1, x86_64-apple-darwin20.6.0, Carbon Version 164 AppKit 2022.6) of 2022-05-03
Operating System: macOS Monterey
Evil version: 1.15.0
Evil installation type: straight
Graphical/Terminal: Graphical
Tested in a make emacs
session (see CONTRIBUTING.md): Yes, together with evil-leader and org-mode
Reproduction steps
- Start Emacs
- Install org-mode 9.5.4, evil and evil-leader, and enable evil-mode and global-evil-leader-mode.
- Open or create an org file that has a table like that:
| header | another header |
- Place your cursor in the header and hit enter (in evil insert mode).
- Emacs hangs in an endless loop, you will have to interrupt with C-g.
Expected behavior
Emacs should not hang.
Actual behavior
Emacs hangs
Further notes
-
See https://emacs.stackexchange.com/questions/72769/org-mode-tables-slowed-down-by-evil-mode for a bit more background regarding this issue.
-
I originally reported this to the org-mode mailing list, as the described behaviour does not happen with org-mode 9.5.2. But Ihor Radchenko responded:
evil-local-mode is run in temporary buffer, which is OK. What is not OK is that evil-local-mode is altering the match data. It must not happen.
Hence I am reporting it here.