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 16:47:42 +0300

> From: Po Lu <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Tue, 21 Sep 2021 21:36:41 +0800
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > Are you saying the vpos is _always_ zero?  I don't see how this could
> > be true, because display_and_set_cursor uses that to find the glyph
> > row that corresponds to the cursor position, and actually draw the
> > cursor glyph.  If vpos is incorrect, the cursor will appear in the
> > long place and will look incorrectly.
> 
> Yes, if I start GDB, and step to this line:
> 
> -->	  block_input ();
> 	  display_and_set_cursor (w, true, hpos, w->phys_cursor.vpos,
> 
> and do
> 
> (gdb) p w->phys_cursor.vpos
> 
> I get 0.

It's definitely not what I see here.  I see the value that is the
screen line number of the cursor.  If the cursor is on the first
screen line, the value is indeed zero (VPOS is zero-based), but not in
general.