branch: elpa/multiple-cursors
commit 952877fc5bc593d9ea47d7ef764e89f5cb0e9404
Author: Magnar Sveen <[email protected]>
Commit: Magnar Sveen <[email protected]>
Revert undo-feature for multiple-cursors
re #169
---
README.md | 2 +-
features/multiple-cursors-core.feature | 20 -----------------
multiple-cursors-core.el | 41 ----------------------------------
3 files changed, 1 insertion(+), 62 deletions(-)
diff --git a/README.md b/README.md
index 58eb4c2..d97345a 100644
--- a/README.md
+++ b/README.md
@@ -185,7 +185,7 @@ Run the tests with:
* [Fuco](https://github.com/Fuco1) added the first version of
`mc/mark-all-like-this-dwim`
* [Zach Kost-Smith](https://github.com/smithzvk) added `mc/mark-pop`
* [Maciej Katafiasz](https://github.com/mathrick) added `mc/mark-all-dwim`
-* [Aleksey Fedotov](https://github.com/lexa) added
`mc-hide-unmatched-lines-mode` and made undo restore your cursors after leaving
mc-mode.
+* [Aleksey Fedotov](https://github.com/lexa) added
`mc-hide-unmatched-lines-mode`
Thanks!
diff --git a/features/multiple-cursors-core.feature
b/features/multiple-cursors-core.feature
index 73259f8..0a6e8b9 100644
--- a/features/multiple-cursors-core.feature
+++ b/features/multiple-cursors-core.feature
@@ -65,26 +65,6 @@ Feature: Multiple cursors core
And I type "!"
Then I should see "This text! contains the word text! twice"
- Scenario: Undo mode
- Given I have cursors at "text" in "This text contains the word text twice"
- When I press "C-g"
- And I press "M-f"
- And I press "C-_"
- 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 2c76b42..d2b2c42 100644
--- a/multiple-cursors-core.el
+++ b/multiple-cursors-core.el
@@ -52,14 +52,6 @@
(setq buffer-undo-list ;; otherwise add a function to activate this
cursor
(cons (cons 'apply (cons 'activate-cursor-for-undo (list id)))
buffer-undo-list))))))
-
-(defun mc/get-all-fake-cursors-state ()
- "Return list of all fake cursor states
-like this: ((CURSOR-POS MARK-POSITION (list of cursor specific variables))
...)"
- (mapcar (lambda (cursor)
- (mc/get-state-from-overlay cursor))
- (mc/all-fake-cursors)))
-
(defun mc/all-fake-cursors (&optional start end)
(remove-if-not 'mc/fake-cursor-p
(overlays-in (or start (point-min))
@@ -160,23 +152,6 @@ highlights the entire width of the window."
(dolist (var mc/cursor-specific-vars)
(when (boundp var) (set var (overlay-get o var)))))
-(defun mc/get-state-from-overlay (o)
- "Return list describing state of cursor overlay"
- (list
- (marker-position (overlay-get o 'point))
- (marker-position (overlay-get o 'mark))
- (mapcar (lambda (var)
- (when (boundp var) (cons var (overlay-get o var))))
- mc/cursor-specific-vars)))
-
-(defun mc/create-overlay-from-state (point mark cursor-vars)
- "Creates cursor overlay according to cursor-info"
- (goto-char point)
- (push-mark mark t)
- (loop for (var . value) in cursor-vars
- do (setq var value))
- (mc/create-fake-cursor-at-point))
-
(defun mc/remove-fake-cursor (o)
"Delete overlay with state, including dependent overlays and markers."
(set-marker (overlay-get o 'point) nil)
@@ -484,20 +459,6 @@ They are temporarily disabled when multiple-cursors are
active.")
:group 'multiple-cursors)
(put 'mc/mode-line 'risky-local-variable t)
-(defun mc/restore-mode (real-cursor real-mark fake-cursors)
- "Restore state of mc mode after undo"
- (save-excursion
- ;; remove all existing fake cursors
- (when multiple-cursors-mode
- (mc/remove-fake-cursors))
- ;; and create set a new one
- (mapc #'(lambda (cursor)
- (apply 'mc/create-overlay-from-state cursor))
- fake-cursors))
- (goto-char real-cursor)
- (push-mark real-mark t)
- (multiple-cursors-mode t))
-
;;;###autoload
(define-minor-mode multiple-cursors-mode
"Mode while multiple cursors are active."
@@ -505,13 +466,11 @@ 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))
(remove-hook 'post-command-hook 'mc/execute-this-command-for-all-cursors t)
(remove-hook 'pre-command-hook 'mc/make-a-note-of-the-command-being-run t)
- (push `(apply mc/restore-mode . ,(list (point) (mark)
(mc/get-all-fake-cursors-state))) buffer-undo-list)
(setq mc--this-command nil)
(mc--maybe-set-killed-rectangle)
(mc/remove-fake-cursors)