isearch-other-meta-char.
(top level): (put 'foo 'isearch-scroll) on all Emacs's
"scrollable" standard functions.
(isearch-allow-scroll): New customizable variable.
(isearch-string-out-of-window, isearch-back-into-window)
(isearch-reread-key-sequence-naturally)
(isearch-lookup-scroll-key): New functions.
(isearch-other-meta-char): Doc string and functionality enhanced.
Now accepts a prefix argument.
(isearch-lazy-highlight-window-end): New variable.
(isearch-lazy-highlight-new-loop): Pay attention to the window's
end (thru isearch-lazy-highlight-window-end), not only its start.
(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.