Commit c40a4de1 authored by Gerd Moellmann's avatar Gerd Moellmann
Browse files

(isearch-resume): New function.

(isearch-done): Add something to command-history to resume
the search.
(isearch-yank-line, isearch-yank-word): Use
buffer-substring-no-properties instead of buffer-substring.
parent 4728a553
......@@ -625,6 +625,13 @@ is treated as a regexp. See \\[isearch-forward] for more info."
(setq disable-point-adjustment t))
(defun isearch-done (&optional nopush edit)
(let ((command `(isearch-resume ,isearch-string ,isearch-regexp
,isearch-word ,isearch-forward
(unless (equal (car command-history) command)
(setq command-history (cons command command-history))))
(remove-hook 'mouse-leave-buffer-hook 'isearch-done)
;; Called by all commands that terminate isearch-mode.
;; If NOPUSH is non-nil, we don't push the string on the search ring.
......@@ -1030,7 +1037,8 @@ Otherwise invoke `mouse-yank-at-click'."
(and (not isearch-forward) isearch-other-end
(goto-char isearch-other-end))
(buffer-substring (point) (progn (forward-word 1) (point))))))
(point) (progn (forward-word 1) (point))))))
(defun isearch-yank-line ()
"Pull rest of line from buffer into search string."
......@@ -1039,7 +1047,7 @@ Otherwise invoke `mouse-yank-at-click'."
(and (not isearch-forward) isearch-other-end
(goto-char isearch-other-end))
(buffer-substring (point) (line-end-position)))))
(buffer-substring-no-properties (point) (line-end-position)))))
(defun isearch-search-and-update ()
......@@ -1938,4 +1946,18 @@ Attempt to do the search exactly the way the pending isearch would."
(setq isearch-lazy-highlight-end (point-min))
(setq isearch-lazy-highlight-start (point-max))))))))))
(defun isearch-resume (search regexp word forward message case-fold)
"Resume an incremental search.
SEARCH is the string or regexp searched for.
REGEXP non-nil means the resumed search was a regexp search.
WORD non-nil means resume a word search.
FORWARD non-nil means resume a forward search.
MESSAGE is the echo-area message recorded for the search resumed.
CASE-FOLD non-nil means the search was case-insensitive."
(isearch-mode forward regexp nil nil word)
(setq isearch-string search
isearch-message message
isearch-case-fold-search case-fold)
;;; isearch.el ends here
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment