Subject: Re: bug#23570: 25.1.50; Cursor motion error with visual-line-mode

From: Eli Zaretskii <[email-masked]>
Date: Wed, 18 May 2016 21:27:21 +0300

> From: Chong Yidong <[email-masked]>
> Date: Wed, 18 May 2016 19:20:28 +0800
> 
> When visual-line mode is enabled, there is a bug causing the cursor to
> fail to find the right start/end of a screen line.  I see the bug with
> Emacs 24.5, as well as the latest git version.  No bug in Emacs 24.4.
> 
> 1. emacs -Q
> 
> 2. Insert the following (at the start of a new line):
> 
> 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12 ABCDEFGHIJK  MOPQ
> 
> 3. M-x visual-line-mode RET
> 
> 4. Adjust the window width until it is just large enough for
>    "ABCDEFGHIJK" to be on the first line.
> 
> 5. Decrease the window width by 1 character.  Now, "ABCDEFGHIJK" should
>    be wrapped to the second line.
> 
> 5. Move point to the beginning of the line starting with "1234...".
>    Now, typing C-e moves to the second screen line.  Expected result: it
>    should move to the end of the first screen line.
> 
>    Various other screen oddities are observable in the vicinity of this
>    wrapped line.  For instance, when point is on "Q", C-a moves to the
>    space before "M", rather than the start of the line.

I cannot say I can reproduce this on my machine.  I see something
similar in Emacs 24.5, but not with the current master or release
branch.

I think what you see could be explained by changing the frame size by
non-integer number of characters (i.e. by a number of pixels that is
smaller than the canonical character width).  But since I cannot come
up with a reproducible recipe, I cannot debug this.