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.
(isearch-close-unecessary-overlays): New function.
(isearch-range-invisible): Use them.
(search-invisible): Changed the semantics,
the default value and updated the doc string.
(isearch-opened-overlays): New variable.
(isearch-mode): Initialize it.
(isearch-switch-frame-handler): Call isearch-clean-overlays.
(isearch-exit, isearch-cancel, isearch-abort): Likewise.
(isearch-other-meta-char, isearch-search):
Support the new meaning for search-invisible.
(isearch-open-necessary-overlays, isearch-open-overlay-temporary)
(isearch-clean-overlays): New functions.
(isearch-range-invisible): If we are inside overlays that can be
opened, open them, add them to isearch-opened-overlays and say
that the range is visible.
isearch-toggle-input-method and
isearch-toggle-specified-input-method in the map.
(isearch-multibyte-characters-flag): New variable.
(isearch-mode): Initialize it to nil.
(isearch-printing-char): Handle multibyte characters.
(isearch-message-prefix): Include title of input method if
necessary in the prefix of message.