Subject: bug#13402: 24.2.92 pretest: bugs in isearch-yank-line in info page. [Patch]

From: Alan Mackenzie <[email-masked]>
Date: Thu, 21 Feb 2013 12:27:40 +0000

Hi, Juri.

On Thu, Feb 21, 2013 at 02:45:31AM +0200, Juri Linkov wrote:
> Fortunately, it is possible to combine both logics
> with a small patch that you can see below.

> The key point is that the lazy-highlighting loop should start
> from the same position where the main search function found
> the beginning of the match!

Hey, that's brilliant!  It simply works, without all the added (or
alternative) complexity of my patch.

> Currently the boundary of the lazy-highlighting loop starts at the end
> of the found match (the value of `(point)').  But the match found by
> the main search function (and highlighted by the primary face `isearch')
> begins at `isearch-other-end'.  So currently they are mutually inconsistent.

> This patch moves the boundary of lazy-highlighting from the end
> of the found match to its beginning - like in the main search function.
> Thus it brings the logic of `isearch-lazy-highlight-search' closer to
> the logic of the main search function in `isearch-search'.

> In the result of removing this inconsistency, this patch passes
> the test case that you posted in your original bug report,
> i.e. placing point at the start of the second paragraph
> ("   Each entry in a ....") and typing `C-s M-s C-e' (isearch-yank-line)
> doesn't highlight the gap preceding the paragraph with lazy-highlight face.
> And it also passes other tests that I tried.

It seems to work for ispell too.  What more could one ask for?

Can we install this into the emacs-24 branch?  It satisfies Glenn's
criterion of a week ago, "...and you are sure the fix is safe".

-- 
Alan Mackenzie (Nuremberg, Germany).