(isearch-mouse-2): Lookup binding in the proper buffer.
Use call-interactively and remove the now useless `arg'.
(isearch-search-fun-function): New var.
(isearch-search-fun): New fun.
(isearch-search, isearch-lazy-highlight-search): Use it.
strings mention keybinding for `isearch-yank-word-or-char',
rather than `isearch-yank-word', since the former is bound now
and the latter is not.
(isearch-yank-word-or-char): Fix formatting.
(isearch-mode): Remember value of isearch-case-fold-search
in isearch-last-case-fold-search.
(isearch-done): Quote value of isearch-case-fold-search.
(isearch-repeat): When resuming a search, restore
isearch-case-fold-search from isearch-last-case-fold-search.
similar events for which fake prefix keys are generated. It's no
longer necessary since read_key_sequence doesn't modify these
events for internal purposes anymore.
(isearch-lazy-highlight-regexp): New variables.
(isearch-lazy-highlight-cleanup): Update lazy highlight if
case-fold search or regexp search has been toggled.
1 here rather than each time through
isearch-lazy-highlight-new-loop.
(isearch-lazy-highlight-max): Variable deleted.
(isearch-lazy-highlight-max-at-a-time): New user variable, like
isearch-lazy-highlight-max but controls a single invocation of
isearch-lazy-highlight-update.
(isearch-lazy-highlight-wrapped): Variable recreated.
(isearch-lazy-highlight-window-start): New variable.
(isearch-lazy-highlight-cleanup): Restored to behavior of
before 2-Jan.
(isearch-lazy-highlight-remove-overlays): Function deleted;
behavior folded into isearch-lazy-highlight-cleanup. "Keep"
behavior removed.
(isearch-lazy-highlight-new-loop): Restore old behavior of calling
isearch-lazy-highlight-update in a loop rather than just once.
Test isearch-invalid-regexp here and decide not to start a new
loop, rather than testing it each time through
isearch-lazy-highlight-update.
(isearch-lazy-highlight-search): Function restored.
(isearch-lazy-highlight-update): Get called in a timer loop again,
but this time highlight more than one match each time through.
Only highlight matches in the visible part of the window. Start
at point, move in the direction of the search, and wrap around at
the edge of the window. Use sit-for to force redisplay and ensure
window-start is credible. "Face suppressing" behavior removed;
overlay priorities should make it unnecessary, right?
(isearch-highlight): Face suppressing behavior removed.
(isearch-dehighlight): Face suppressing behavior removed.
(isearch-set-lazy-highlight-faces-at): Removed.
Don't look for more potential matches once maximum is exceeded.
Use overlays-in to check correctly for overlap with current match.
Ignore empty matches.
(isearch-mode): Add isearch-done to kbd-macro-termination-hook
instead of setting signal-hook-function.
(isearch-done): Remove isearch-done from kbd-macro-termination-hook.
but only do it in the text that's visible in the selected window.
(isearch-lazy-highlight-cleanup): Arg now says
to remove all the current alternative-match highlighting.
If nil, remove only what's outside the current window.
(isearch-lazy-highlight-remove-overlays): Take optional
region within which NOT to remove them.
(isearch-lazy-highlight-new-loop): Greatly simplified.
(isearch-lazy-highlight-update): Find all the other occurrences
visible in the window, in just one call.
(isearch-lazy-highlight-start): Now holds start of region to scan.
(isearch-lazy-highlight-end): Now holds end of region to scan.
(isearch-lazy-highlight-wrapped): Variable deleted.
(isearch-lazy-highlight-search): Function deleted.
(isearch-mode): Set `minibuffer-message-timeout' to nil, after
stashing away its original value.
(isearch-edit-string): Temporarily restore `minibuffer-message-timeout'
in the recursive edit.
Bind `isearch-original-minibuffer-message-timeout' to protect it.
(isearch-done): Restore `minibuffer-message-timeout'.
(minibuffer-local-isearch-map): Init in defvar. Use inheritance.
(isearch-clean-overlays, isearch-range-invisible, isearch-unread):
Use mapc rather than map.
(isearch-highlight): Restore lazy-isearch face properties at old
position, and suppress them at new position.
(isearch-dehighlight): Restore lazy-isearch face properties.
(isearch-lazy-highlight-update): Add lazy-isearch overlays even
over the real isearch overlay, but in that case, don't give it a
face property. Use `push'.
highlighting overlay with a different face over the overlay
isearch uses to highlight the current match because that can lead
to bad face combinations.