[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