Subject: bug#21092: 25.0.50; Option `lazy-highlight-max-at-a-time' does not work

From: Juri Linkov <[email-masked]>
Date: Mon, 31 Aug 2015 23:01:34 +0300

> You clearly do not want this done.

Not at all.  I only disagree that it's a bug.
‘lazy-highlight-max-at-a-time’ is just an optimization variable
along with ‘lazy-highlight-initial-delay’, ‘lazy-highlight-interval’
that users might want to tweak to improve performance where nil of
‘lazy-highlight-max-at-a-time’ allows highlighting in one loop
that avoids delays on fast processors (it makes sense to change
its default value to nil to match the modern hardware).

A new feature to highlight the whole buffer would be useful as well
to reduce flickering during Isearch.  Currently when e.g. scrolling
by one line lazy-highlight clears all matches on the screen, and
re-highlights them with an additional line taken into account.
That's because lazy-highlight is non-incremental.

Highlighting the whole buffer could fix this visual effect.
So unlike the current screen-limited lazy-highlighting that reacts
to window-start/window-end changes, once whole-buffer lazy-highlighting
finds all matches in the buffer it doesn't need to re-highlight them
during Isearch navigation.

A new option could be named e.g. (defcustom lazy-highlight-buffer nil)
Again, its default value is depending on the average hardware.
While I believe that highlighting all matches on the screen
is suitable for most users, I'm not sure about highlighting
all matches in a (possibly large) buffer in one loop.

> You have not wanted a boatload of features,

Yes, I resist a bloatload of features, but I'm happy with adding
features that solve a complex usability problem in a simple way.

> whether it's searching within the active region (not needed,
> since a user can always narrow the buffer);

Because it's more useful to extend the bounds of the active region
using Isearch.

> search within text- or overlay-property zones;

There is an unfinished feature request bug#15245.

> on-demand replacement of search hits during search

Can you find a bug# for this?

> Please at least fix the doc so that it matches what the
> code does, whether or not that matches what the original
> intention was.

Then the docstring could point to the new option ‘lazy-highlight-buffer’.