Subject: bug#52302: 28.0.50; [PATCH] Overlay strings should not increment vpos

From: Eli Zaretskii <[email-masked]>
Date: Sun, 05 Dec 2021 21:47:59 +0200

> From: dick <[email-masked]>
> Cc: [email-masked]
> Date: Sun, 05 Dec 2021 14:06:14 -0500
> 
> Just want to get `move_it_to` right on a (MOVE_TO_VPOS | MOVE_TO_POS) to
> a line ending in an invisible string.

Are you using "invisible" here as in "text with the invisible
property"?  Or does "invisible" mean "not shown on display"?  If the
latter, then I don't understand what does visibility have to do with
coordinates maintained by move_it_to -- that function doesn't care
whether the text it traverses is or isn't shown.

> This is nicely tested in
> `xdisp-tests--minibuffer-resizing` in reference to bug#43519, but the
> erstwhile fix was a paper-over (calling move_it_vertically_backward with
> arg 0 as many times as it took to get back to line start, then adding a
> long-winded justification -- no dearth of those).

I see just one call to move_it_vertically_backward, not "as many as".
And the long comment explains why we call move_it_to (also a single
call), not move_it_vertically_backward.  So I don't understand what
you are saying here.

And the overall motivation is also not clear -- is it just to save us
one call to move_it_vertically_backward?