Subject: bug#56815: 29.0.50; Isearch lazy-highlight highlights too much when truncate-lines is in effect

From: Juri Linkov <[email-masked]>
Date: Mon, 01 Aug 2022 21:09:05 +0300

> So if no good ideas arise that are simple enough to implement, I'm
> okay with simply disabling isearch-lazy-highlight in such buffers, as
> I wrote in the original bug report.  (Doing that will probably require
> exposing the "long-lines" flag to Lisp, but that's fine by me.)

Exposing the "long-lines" flag to Lisp is exactly what is needed.
So when lazy-highlight will detect a special value of a new
buffer-local variable when narrowing is in effect due to long lines,
then lazy-highlight can switch to a different algorithm
like you described earlier.  Currently isearch-lazy-highlight-new-loop
checks for window-group-start and window-group-end.  But when
the "long-lines" flag is set, it should also check for window-hscroll
because narrowed lazy-highlighting should be updated on hscrolling.

This "long-lines" flag will be also useful for pre-command-hook
and post-command-hook to convey the information about narrowing
to hooks.