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

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

[nongnu] elpa/multiple-cursors 4975afe 1/3: Run hook when mc is disabled


From: ELPA Syncer
Subject: [nongnu] elpa/multiple-cursors 4975afe 1/3: Run hook when mc is disabled
Date: Fri, 12 Nov 2021 17:57:49 -0500 (EST)

branch: elpa/multiple-cursors
commit 4975afedb35ab2a73fd37bb5229becea447787ae
Author: Johannes Lippmann <code@schauderbasis.de>
Commit: Magnar Sveen <magnars@gmail.com>

    Run hook when mc is disabled
---
 mc-mark-more.el           | 12 +++++++++---
 mc-separate-operations.el |  4 +++-
 multiple-cursors-core.el  | 17 +++++++++++++----
 3 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/mc-mark-more.el b/mc-mark-more.el
index 6c0276c..9cbf67f 100644
--- a/mc-mark-more.el
+++ b/mc-mark-more.el
@@ -355,7 +355,9 @@ With zero ARG, skip the last one and mark next."
        (when point-first (exchange-point-and-mark)))))
   (if (> (mc/num-cursors) 1)
       (multiple-cursors-mode 1)
-    (multiple-cursors-mode 0)))
+    (progn
+      (multiple-cursors-mode 0)
+      (run-hooks 'multiple-cursors-mode-disabled-hook))))
 
 (defun mc--select-thing-at-point (thing)
   (let ((bound (bounds-of-thing-at-point thing)))
@@ -402,7 +404,9 @@ With zero ARG, skip the last one and mark next."
             (mc/pop-state-from-overlay first)))
         (if (> (mc/num-cursors) 1)
             (multiple-cursors-mode 1)
-          (multiple-cursors-mode 0))))))
+          (progn
+            (multiple-cursors-mode 0)
+            (run-hooks 'multiple-cursors-mode-disabled-hook)))))))
 
 ;;;###autoload
 (defun mc/mark-all-in-region-regexp (beg end)
@@ -427,7 +431,9 @@ With zero ARG, skip the last one and mark next."
             (error "Search failed for %S" search)))
         (goto-char (match-end 0))
         (if (< (mc/num-cursors) 3)
-            (multiple-cursors-mode 0)
+            (progn
+              (multiple-cursors-mode 0)
+              (run-hooks 'multiple-cursors-mode-disabled-hook))
           (mc/pop-state-from-overlay (mc/furthest-cursor-before-point))
           (multiple-cursors-mode 1))))))
 
diff --git a/mc-separate-operations.el b/mc-separate-operations.el
index f123cca..24fcd8f 100644
--- a/mc-separate-operations.el
+++ b/mc-separate-operations.el
@@ -106,7 +106,9 @@
       (progn
         (mc/mark-next-lines 1)
         (mc/reverse-regions)
-        (multiple-cursors-mode 0))
+        (multiple-cursors-mode 0)
+        (multiple-cursors-mode-disabled-hook)
+        )
     (unless (use-region-p)
       (mc/execute-command-for-all-cursors 'mark-sexp))
     (setq mc--strings-to-replace (nreverse (mc--ordered-region-strings)))
diff --git a/multiple-cursors-core.el b/multiple-cursors-core.el
index 6db87a8..e738504 100644
--- a/multiple-cursors-core.el
+++ b/multiple-cursors-core.el
@@ -433,7 +433,9 @@ the original cursor, to inform about the lack of support."
   (unless mc--executing-command-for-fake-cursor
 
     (if (eq 1 (mc/num-cursors)) ;; no fake cursors? disable mc-mode
-        (multiple-cursors-mode 0)
+        (progn
+          (multiple-cursors-mode 0)
+          (run-hooks 'multiple-cursors-mode-disabled-hook))
       (when this-original-command
         (let ((original-command (or mc--this-command
                                     (command-remapping this-original-command)
@@ -487,7 +489,9 @@ you should disable multiple-cursors-mode."
   "Deactivate mark if there are any active, otherwise exit 
multiple-cursors-mode."
   (interactive)
   (if (not (use-region-p))
-      (multiple-cursors-mode 0)
+      (progn
+        (multiple-cursors-mode 0)
+        (run-hooks 'multiple-cursors-mode-disabled-hook))
     (deactivate-mark)))
 
 (defun mc/repeat-command ()
@@ -588,13 +592,18 @@ They are temporarily disabled when multiple-cursors are 
active.")
     (mc/enable-temporarily-disabled-minor-modes)
     (run-hooks 'multiple-cursors-mode-disabled-hook)))
 
-(add-hook 'after-revert-hook #'(lambda () (multiple-cursors-mode 0)))
+(add-hook 'after-revert-hook
+          #'(lambda () (progn
+                         (multiple-cursors-mode 0)
+                         (run-hooks 'multiple-cursors-mode-disabled-hook))))
 
 (defun mc/maybe-multiple-cursors-mode ()
   "Enable multiple-cursors-mode if there is more than one currently active 
cursor."
   (if (> (mc/num-cursors) 1)
       (multiple-cursors-mode 1)
-    (multiple-cursors-mode 0)))
+    (progn
+      (multiple-cursors-mode 0)
+      (run-hooks 'multiple-cursors-mode-disabled-hook))))
 
 (defmacro unsupported-cmd (cmd msg)
   "Adds command to list of unsupported commands and prevents it



reply via email to

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