branch: elpa/multiple-cursors
commit 40eb74e3e44aa72948db92dc58a8769153fd83f3
Author: Ingo Lohmar <[email protected]>
Commit: Ingo Lohmar <[email protected]>
Extend mc/add-cursor-on-click to toggle fake cursors
- rename function accordingly and add alias
---
mc-mark-more.el | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/mc-mark-more.el b/mc-mark-more.el
index 68addce..f63887d 100644
--- a/mc-mark-more.el
+++ b/mc-mark-more.el
@@ -576,8 +576,9 @@ If the region is inactive or on a single line, it will
behave like
(<= (point) end))))
;;;###autoload
-(defun mc/add-cursor-on-click (event)
- "Add a cursor where you click."
+(defun mc/toggle-cursor-on-click (event)
+ "Add a cursor where you click, or remove a fake cursor that is
+already there."
(interactive "e")
(mouse-minibuffer-check event)
;; Use event-end in case called from mouse-drag-region.
@@ -589,10 +590,17 @@ If the region is inactive or on a single line, it will
behave like
(if (numberp (posn-point position))
(save-excursion
(goto-char (posn-point position))
- (mc/create-fake-cursor-at-point)))
+ (let ((existing (mc/last-fake-cursor-before (point))))
+ (if (and existing
+ (eq (overlay-get existing 'point) (point)))
+ (mc/remove-fake-cursor existing)
+ (mc/create-fake-cursor-at-point)))))
(mc/maybe-multiple-cursors-mode)))
;;;###autoload
+(defalias 'mc/add-cursor-on-click 'mc/toggle-cursor-on-click)
+
+;;;###autoload
(defun mc/mark-sgml-tag-pair ()
"Mark the tag we're in and its pair for renaming."
(interactive)