Subject: bug#64063: smerge-mode highlight gets stuck if buffer autoreverted "delicately"

From: Konstantin Kharlamov <[email-masked]>
Date: Sat, 17 Jun 2023 03:16:32 +0300

On Thu, 2023-06-01 at 13:35 +0200, Daniel Martín wrote:
> > So, my question is, what "on change" hooks smerge-mode uses to detect that a
> > change to the buffer has been made to check whether conflict markers are still
> > in place? I tried searching for the word "hook" over the smerge-mode.el but
> > didn't find anything relevant.
>
> If font-lock is enabled, smerge-mode uses it to fontify the conflicting
> regions.  See smerge-font-lock-keywords.  So perhaps the regular
> font-lock debugging techniques might help you investigate this issue in
> more detail.

So, I think the problem is that the highlight that gets stuck does not use font-lock,
or at least not through means of `smerge-font-lock-keywords`. Whatever is defined in
`smerge-font-lock-keywords` gets unhighlighted correctly. But the part that gets
stuck instead is an overlay.

So I presume besides font-lock-mode there's some other highlight management ongoing,
the one that decides whether to put/remove overlays over some text.