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

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

[nongnu] elpa/multiple-cursors 038c9a7 161/434: Added stop as a possible


From: ELPA Syncer
Subject: [nongnu] elpa/multiple-cursors 038c9a7 161/434: Added stop as a possible value for mc/cycle-looping-behaviour.
Date: Sat, 7 Aug 2021 09:20:17 -0400 (EDT)

branch: elpa/multiple-cursors
commit 038c9a7f03116f016a129981cdaa4094d89bedd8
Author: Marco Baringer <mb@bese.it>
Commit: Marco Baringer <mb@bese.it>

    Added stop as a possible value for mc/cycle-looping-behaviour.
    
    Simply disables looping (no warning either).
---
 mc-cycle-cursors.el | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/mc-cycle-cursors.el b/mc-cycle-cursors.el
index 9dea266..3fe44bd 100644
--- a/mc-cycle-cursors.el
+++ b/mc-cycle-cursors.el
@@ -58,13 +58,15 @@
   "What to do if asked to cycle beyond the last cursor or before the first 
cursor."
   :type '(radio (const :tag "Loop around to beginning/end of document." 
continue)
                 (const :tag "Warn and then loop around." warn)
-                (const :tag "Signal an error." error)))
+                (const :tag "Signal an error." error)
+                (const :tag "Don't loop." stop)))
 
 (defun mc/handle-loop-condition (error-message)
   (ecase mc/cycle-looping-behaviour
     (error (error error-message))
     (warn  (message error-message))
-    (continue nil)))
+    (continue 'continue)
+    (stop 'stop)))
 
 (defun mc/first-cursor-after (point)
   "Very similar to mc/furthest-cursor-before-point, but ignores (mark) and 
(point)."
@@ -84,9 +86,10 @@
          (cursors-in-order (sort* cursors-before-point '> :key 
'mc/cursor-end)))
     (first cursors-in-order)))
 
-(defun mc/cycle (next-cursor fallback-cursor loop-message)
+(defun* mc/cycle (next-cursor fallback-cursor loop-message)
   (when (null next-cursor)
-    (mc/handle-loop-condition loop-message)
+    (when (eql 'stop (mc/handle-loop-condition loop-message))
+      (return-from mc/cycle nil))
     (setf next-cursor fallback-cursor))
   (mc/create-fake-cursor-at-point)
   (mc/pop-state-from-overlay next-cursor)



reply via email to

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