Don't let mc/mark-lines create 'double' cursors.

Previously using mc/mark-lines in a fowards/backwards/forwards
combination would cause multiple cursors to be placed at the same
point of the same line. This is not useful behaviour.

Noted while implementing magnars suggestion: https://github.com/magnars/multiple-cursors.el/pull/23#commitcomment-1983183
This commit is contained in:
Marco Baringer
2012-10-12 17:04:36 +02:00
parent 038c9a7f03
commit 1ec78e195f
2 changed files with 23 additions and 2 deletions

View File

@@ -145,8 +145,10 @@ With zero ARG, skip the last one and mark next."
(dotimes (i num-lines)
(mc/create-fake-cursor-at-point)
(ecase direction
(forwards (next-line 1 nil))
(backwards (previous-line 1 nil)))))
(forwards (loop do (next-line 1 nil)
while (mc/all-fake-cursors (point) (1+ (point)))))
(backwards (loop do (previous-line 1 nil)
while (mc/all-fake-cursors (point) (1+ (point))))))))
;;;###autoload
(defun mc/mark-next-lines (arg)