From 65561df25f9adeb5f7b7685df5e12011f8809343 Mon Sep 17 00:00:00 2001 From: Daanturo Date: Thu, 22 Jul 2021 11:38:41 +0700 Subject: [PATCH] Improve multiple-cursors compatibility with evil-multiedit After exiting `multiple-cursors`, when the previous state is multiedit{,-insert}, return to normal state. Use case: - Mark occurrences with evil-multiedit - `iedit-switch-to-mc-mode` ("M-M") - Make some edit - "C-g" to exit `multiple-cursors` Expected behaviour: Return to evil's normal-state Observed behaviour before the patch: Emacs stays on emacs-state --- modules/editor/multiple-cursors/config.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/editor/multiple-cursors/config.el b/modules/editor/multiple-cursors/config.el index fd25e70ae..a4411c95e 100644 --- a/modules/editor/multiple-cursors/config.el +++ b/modules/editor/multiple-cursors/config.el @@ -173,7 +173,10 @@ (when +mc--compat-evil-prev-state (unwind-protect (cl-case +mc--compat-evil-prev-state - ((normal visual) (evil-force-normal-state)) + ;; For `evil-multiedit', marked occurrences aren't saved after + ;; exiting mc, so we should return to normal state anyway + ((normal visual multiedit multiedit-insert) + (evil-force-normal-state)) (t (message "Don't know how to handle previous state: %S" +mc--compat-evil-prev-state))) (setq +mc--compat-evil-prev-state nil)