branch: elpa/multiple-cursors
commit ff0ac1fc75c7de1645b2d9ca63c5795fa9494215
Author: Aleksei <[email protected]>
Commit: Aleksei <[email protected]>
Add function to disable mc undo into undo-list.
When user enables mc mode we need to add function to disable mc mode
into undo-list. When users starts to hit 'undo' at some point mc-mode
will be disabled.
---
features/multiple-cursors-core.feature | 12 ++++++++++++
multiple-cursors-core.el | 1 +
2 files changed, 13 insertions(+)
diff --git a/features/multiple-cursors-core.feature
b/features/multiple-cursors-core.feature
index 3bd4103..73259f8 100644
--- a/features/multiple-cursors-core.feature
+++ b/features/multiple-cursors-core.feature
@@ -73,6 +73,18 @@ Feature: Multiple cursors core
And I type "!"
Then I should see "This !text contains the word !text twice"
+ Scenario: Undo until mc mode will be disabled
+ Given I have cursors at "text" in "This text contains the word text twice"
+ And I should have 2 cursors
+ When I press "C-g"
+ And I should have 1 cursors
+ And I press "C-_"
+ And I should have 2 cursors
+ And I press "C-_"
+ And I should have 1 cursors
+ And I type "!"
+ Then I should see "This !text contains the word text twice"
+
Scenario: Setting and popping mark
Given I have cursors at "text" in "This text contains the word text twice"
And I press "C-SPC"
diff --git a/multiple-cursors-core.el b/multiple-cursors-core.el
index a0d10ef..2c76b42 100644
--- a/multiple-cursors-core.el
+++ b/multiple-cursors-core.el
@@ -505,6 +505,7 @@ They are temporarily disabled when multiple-cursors are
active.")
(if multiple-cursors-mode
(progn
(mc/temporarily-disable-unsupported-minor-modes)
+ (push `(apply multiple-cursors-mode . ,(list 0)) buffer-undo-list)
(add-hook 'pre-command-hook 'mc/make-a-note-of-the-command-being-run
nil t)
(add-hook 'post-command-hook 'mc/execute-this-command-for-all-cursors
t t)
(run-hooks 'multiple-cursors-mode-enabled-hook))