(isearch-done): Set mark after running hook.

Suggested by Drew Adams <drew.adams@oracle.com>.
This commit is contained in:
Juri Linkov 2004-10-05 04:22:41 +00:00
parent 80a47b51e7
commit 071fdd6692

View file

@ -680,16 +680,7 @@ is treated as a regexp. See \\[isearch-forward] for more info."
(if isearch-small-window
(goto-char found-point)
;; Exiting the save-window-excursion clobbers window-start; restore it.
(set-window-start (selected-window) found-start t))
;; If there was movement, mark the starting position.
;; Maybe should test difference between and set mark iff > threshold.
(if (/= (point) isearch-opoint)
(or (and transient-mark-mode mark-active)
(progn
(push-mark isearch-opoint t)
(or executing-kbd-macro (> (minibuffer-depth) 0)
(message "Mark saved where search started"))))))
(set-window-start (selected-window) found-start t)))
(setq isearch-mode nil)
(if isearch-input-method-local-p
@ -714,6 +705,16 @@ is treated as a regexp. See \\[isearch-forward] for more info."
(isearch-update-ring isearch-string isearch-regexp))
(run-hooks 'isearch-mode-end-hook)
;; If there was movement, mark the starting position.
;; Maybe should test difference between and set mark iff > threshold.
(if (/= (point) isearch-opoint)
(or (and transient-mark-mode mark-active)
(progn
(push-mark isearch-opoint t)
(or executing-kbd-macro (> (minibuffer-depth) 0)
(message "Mark saved where search started")))))
(and (not edit) isearch-recursive-edit (exit-recursive-edit)))
(defun isearch-update-ring (string &optional regexp)