diff --git a/mc-mark-more.el b/mc-mark-more.el index e84d614..627b401 100644 --- a/mc-mark-more.el +++ b/mc-mark-more.el @@ -263,25 +263,26 @@ With zero ARG, skip the last one and mark next." (mc/mark-all-like-this))) ;;;###autoload -(defun* mc/mark-all-in-region (beg end) +(defun mc/mark-all-in-region (beg end) "Find and mark all the parts in the region matching the given search" (interactive "r") (let ((search (read-from-minibuffer "Mark all in region: ")) (case-fold-search nil)) - (when (string= search "") - (return-from mc/mark-all-in-region 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