Subject: bug#75931: 31.0.50; mouse-face and pointer properties make pointer change back and forth

From: Eli Zaretskii <[email-masked]>
Date: Wed, 29 Jan 2025 21:11:05 +0200

> Date: Wed, 29 Jan 2025 15:27:24 -0300
> From: Mauro Aranda <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>
> 
> I bisected it down to this commit:
> 
> commit 64f9fdc812bb2e1f533ae294355d33396985e469
> Author: Eli Zaretskii <[email-masked]>
> Date:   Thu Oct 14 11:57:07 2021 +0300
> 
>      Fix display of cursor in mouse-highlighted face with ':box'
> 
>      * src/xdisp.c (erase_phys_cursor, show_mouse_face): Adjust
>      phys_cursor.x as needed if the cursor is inside mouse-highlight.
>      (get_cursor_offset_for_mouse_face): New function.
>      * src/dispnew.c (gui_update_window_end): Set
>      'mouse_face_overwritten_p' if the cursor is in mouse-face, to
>      trigger more thorough redisplay of the cursor.
>      (Bug#50660)

Thanks, but it would still be good to know which code changes the
mouse pointer to hand.  In the above patch, the only part that could
perhaps cause that is the first hunk, in dispnew.c, but I don't see an
immediate connection, especially since the answer is probably
somewhere in X-specific code (xterm.c etc.).