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

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

[nongnu] elpa/multiple-cursors 5cd6ddf 293/434: Merge pull request #125


From: ELPA Syncer
Subject: [nongnu] elpa/multiple-cursors 5cd6ddf 293/434: Merge pull request #125 from kyanagi/fix-cycle-cursors-on-edge
Date: Sat, 7 Aug 2021 09:20:45 -0400 (EDT)

branch: elpa/multiple-cursors
commit 5cd6ddf788640cc073d8a32aef06a525b92d0cbd
Merge: 3cfae1d 38e590c
Author: Magnar Sveen <magnars@gmail.com>
Commit: Magnar Sveen <magnars@gmail.com>

    Merge pull request #125 from kyanagi/fix-cycle-cursors-on-edge
    
    Fix cycle-cursor behavior
---
 features/multiple-cursors-core.feature | 14 ++++++++++++++
 mc-cycle-cursors.el                    |  4 ++--
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/features/multiple-cursors-core.feature 
b/features/multiple-cursors-core.feature
index cd308cd..0a6e8b9 100644
--- a/features/multiple-cursors-core.feature
+++ b/features/multiple-cursors-core.feature
@@ -166,9 +166,23 @@ Feature: Multiple cursors core
     And I press "C-v"
     Then the cursor should be at point "8"
 
+  Scenario: Looping forwards around cursors including one at point-max
+    Given I have cursors at "_" in "1_34_67_"
+    And I press "C-f"
+    And I press "C-v"
+    And I press "C-v"
+    And I press "C-v"
+    Then the cursor should be at point "3"
+
   Scenario: Looping backwards around cursors
     Given I have cursors at "_" in "1_34567_9"
     And I press "M-v"
     And I press "M-v"
     Then the cursor should be at point "2"
 
+  Scenario: Looping backwards around cursors including one at point-min
+    Given I have cursors at "_" in "_234_67_9"
+    And I press "M-v"
+    And I press "M-v"
+    And I press "M-v"
+    Then the cursor should be at point "1"
diff --git a/mc-cycle-cursors.el b/mc-cycle-cursors.el
index 4c93dc7..bb86aaa 100644
--- a/mc-cycle-cursors.el
+++ b/mc-cycle-cursors.el
@@ -32,7 +32,7 @@
 
 (defun mc/next-fake-cursor-after-point ()
   (let ((pos (point))
-        (next-pos (point-max))
+        (next-pos (1+ (point-max)))
         next)
     (mc/for-each-fake-cursor
      (let ((cursor-pos (overlay-get cursor 'point)))
@@ -44,7 +44,7 @@
 
 (defun mc/prev-fake-cursor-before-point ()
   (let ((pos (point))
-        (prev-pos (point-min))
+        (prev-pos (1- (point-min)))
         prev)
     (mc/for-each-fake-cursor
      (let ((cursor-pos (overlay-get cursor 'point)))



reply via email to

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