(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.
(isearch): New defface; was already tested for in the code.
(isearch-lazy-highlight-face): Changed to defface from defcustom.
(isearch-highlight): Always use face `isearch'.
(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.
to prevent the point moving to the end of a composition when a
part of a composition is searched.
(isearch-other-meta-char): If the key invoking this command can be
mapped by function-key-map to a printing char, call
isearch-process-search-char directly.
(isearch-mode-map): Bind mouse-2 to isearch-mouse-yank.
(isearch-switch-frame-handler): Comment out (unused).
(isearch-yank-x-selection, isearch-ring-advance-edit): Doc fix.
(isearch-ring-retreat-edit): Doc fix.
(isearch-mouse-yank): New command.
(isearch-last-command-char): Removed. Callers changed to use
last-command-char.
(isearch-char-to-string): Removed. Callers changed to use
char-to-string.
(isearch-input-method-local-p): New variable.
(isearch-mode): Setup the above two variable. Set
input-method-function to nil locally.
(isearch-done): Restore the previous value of
input-method-function.
(isearch-mode): Do not bind isearch-multibyte-characters-flag and
isearch-input-method.
(isearch-printing-char): Use current-input-method instead of
isearch-input-method.
(isearch-message-prefix): Likewise.
(isearch-search): Bind inhibit-point-motion-hooks because we might
have to search inside invisible and intangible text.
(isearch-open-overlay-temporary): Delete forgoten debug message.
(isearch-range-invisible): Fix typo in doc-string.