diff --git a/mc-mark-more.el b/mc-mark-more.el index 7e240a1..627b401 100644 --- a/mc-mark-more.el +++ b/mc-mark-more.el @@ -268,18 +268,21 @@ With zero ARG, skip the last one and mark next." (interactive "r") (let ((search (read-from-minibuffer "Mark all in region: ")) (case-fold-search nil)) - (mc/remove-fake-cursors) - (goto-char beg) - (while (search-forward search end t) - (push-mark (match-beginning 0)) - (mc/create-fake-cursor-at-point)) - (let ((first (mc/furthest-cursor-before-point))) - (if (not first) - (error "Search failed for %S" search) - (mc/pop-state-from-overlay first)))) - (if (> (mc/num-cursors) 1) - (multiple-cursors-mode 1) - (multiple-cursors-mode 0))) + (if (string= search "") + (message "Mark aborted") + (progn + (mc/remove-fake-cursors) + (goto-char beg) + (while (search-forward search end t) + (push-mark (match-beginning 0)) + (mc/create-fake-cursor-at-point)) + (let ((first (mc/furthest-cursor-before-point))) + (if (not first) + (error "Search failed for %S" search) + (mc/pop-state-from-overlay first))) + (if (> (mc/num-cursors) 1) + (multiple-cursors-mode 1) + (multiple-cursors-mode 0)))))) (when (not (fboundp 'set-temporary-overlay-map)) ;; Backport this function from newer emacs versions