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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 14 Aug 2022 16:53:50 +0300

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked],  [email-masked],  [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.

You can now use the new long-line-optimizations-p predicate for that.
Although from your description above, perhaps Isearch should behave
like that in a buffer with line-truncation regardless of the long
lines.