Subject: bug#77942: 31.0.50; replace-region-contents gets stuck

From: Eli Zaretskii <[email-masked]>
Date: Tue, 22 Apr 2025 16:05:53 +0300

> From: Gerd Möllmann <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Tue, 22 Apr 2025 13:42:15 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> Cc: Paul Eggert <[email-masked]>, [email-masked]
> >> From: Gerd Möllmann <[email-masked]>
> >> Date: Tue, 22 Apr 2025 05:48:14 +0200
> >> 
> >> But honestly, what the heck? Does someone know what this diffing is
> >> about in the first place?
> >
> > It's about leaving the unchanged portions of text intact, including
> > their properties, overlays, markers, etc.  I believe the doc string
> > says that much.
> 
> What I meant is why perform an O(ND) diff for that purpose. That's not
> at all obvious.

AFAIU, it's because the Diff algorithm makes the minimum number of
changes.

> (And it would be nice if the doc string talked about
> that O(ND) a bit to warn users.)

It does:

  Because this function can be very slow if there is a large number of
  differences between the two buffers, there are two optional arguments
  mitigating this issue.