emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/multiple-cursors 9938aca 028/434: Save er/history for each


From: ELPA Syncer
Subject: [nongnu] elpa/multiple-cursors 9938aca 028/434: Save er/history for each cursor, to be able to contract.
Date: Sat, 7 Aug 2021 09:19:48 -0400 (EDT)

branch: elpa/multiple-cursors
commit 9938acaf7136dc85a8c9b5d6b6f85a2ee35cc4c2
Author: Magnar Sveen <magnars@gmail.com>
Commit: Magnar Sveen <magnars@gmail.com>

    Save er/history for each cursor, to be able to contract.
---
 multiple-cursors.el |  6 +++++-
 todo.org            | 12 +++++++++---
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/multiple-cursors.el b/multiple-cursors.el
index 7148f6b..6cad9e0 100644
--- a/multiple-cursors.el
+++ b/multiple-cursors.el
@@ -119,6 +119,7 @@ Also makes a copy of the kill-ring to be used by this 
cursor."
     (overlay-put overlay 'mark-ring mark-ring)
     (overlay-put overlay 'mark-active mark-active)
     (overlay-put overlay 'mark (set-marker (make-marker) (mark)))
+    (overlay-put overlay 'er/history er/history)
     (when (use-region-p)
       (overlay-put overlay 'region-overlay
                    (mc/make-region-overlay-between-point-and-mark)))
@@ -133,6 +134,7 @@ cursor with updated info."
   (let ((current-kill-ring kill-ring)
         (current-mark-ring mark-ring)
         (current-mark-active mark-active)
+        (current-er/history er/history)
         (annoying-arrows-mode nil))
     (save-excursion
       (mapc #'(lambda (o)
@@ -143,6 +145,7 @@ cursor with updated info."
                   (set-marker (overlay-get o 'mark) nil)
                   (setq mark-ring (overlay-get o 'mark-ring))
                   (setq mark-active (overlay-get o 'mark-active))
+                  (setq er/history (overlay-get o 'er/history))
                   (delete-region-overlay o)
                   (delete-overlay o)
                   (ignore-errors
@@ -152,7 +155,8 @@ cursor with updated info."
             (overlays-in (point-min) (point-max))))
     (setq kill-ring current-kill-ring)
     (setq mark-ring current-mark-ring)
-    (setq mark-active current-mark-active)))
+    (setq mark-active current-mark-active)
+    (setq er/history current-er/history)))
 
 (defun delete-region-overlay (o)
   (ignore-errors
diff --git a/todo.org b/todo.org
index 86b2b8e..c8f4ef4 100644
--- a/todo.org
+++ b/todo.org
@@ -1,10 +1,16 @@
-* TODO: [2/8]
+* TODO: [3/9]
 ** DONE (set-marker MARKER nil) for performance
 ** DONE C-g deactivates regions first, before disabling multiple-cursors
-** TODO remove mark-multiple integration
+** DONE more state to save per cursor: er/history
 ** TODO refactor
    an object with all the current state, used for both overlays and current
 ** TODO add tests
-** TODO more state to save per cursor: er/history
 ** TODO collapse cursors at same point
 ** TODO unknown command: (t)ry all or (i)gnore -> (did that work ok? (k)eep 
doing that or (d)on't)
+** TODO separate mark-multiple and multiple-cursors
+   mark-multiple goes back to being the util? or just dies?
+   given the problem with extract-var and undo, may just kill mark-multiple.
+   problem with that is: C-g when doing rename-tag shouldn't go to 
multiple-cursors.
+
+** TODO there's something going wrong with last-command/this-command?
+   expand-region works nicely, even collapse when we save er/history, but last 
collapse puts all cursors in same spot



reply via email to

[Prev in Thread] Current Thread [Next in Thread]