Subject: bug#50660: 28.0.50; Text artifacting when the cursor moves over text under mouse face that originally displayed a box

From: Eli Zaretskii <[email-masked]>
Date: Tue, 21 Sep 2021 13:17:58 +0300

> From: Po Lu <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Tue, 21 Sep 2021 17:45:37 +0800
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > Only the characters at the beginning and end of the box jump, so they
> > are the only ones that need an additional adjustment.  Right?
> 
> Yeah, they are the only characters causing the jump, but the effect of
> that jump "ripples", in a way, throughout the entire box.

It ripples only once, when the mouse-highlight is applied, and at that
time show_mouse_face will be called.  After the mouse-highlight is
applied, if you just move the cursor (NOT the mouse pointer), the only
part of the text that changes are the two edge characters.

> So even if I move the cursor into the middle of the box, it will
> still be in the wrong location, but when the cursor is moved,
> show_mouse_face is not called, so I think putting the correction is
> show_mouse_face is not the solution to this problem.

We could identify this situation and call show_mouse_face forcibly,
e.g. in gui_update_window_end or some such place.

It's also fine with me to do it where you wanted, as long as you can
resolve the problems with that which I mentioned earlier.