Subject: Re: bug#17823: 24.3.91; end-of-visual-line: incorrect behaviour with truncate-lines and a line-prefix
From: Eli Zaretskii <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Sat, 21 Jun 2014 15:36:52 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Fri, 20 Jun 2014 21:56:22 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> > From: Nicolas Richard <[email-masked]>
> > Date: Fri, 20 Jun 2014 19:40:24 +0200
> > 
> > (progn
> >   (insert (make-string 500 ?x))
> >   (column-number-mode) ;; just to see it. plays no role.
> >   (beginning-of-line)
> >   (setq line-prefix (make-string 10 ? ))
> >   (visual-line-mode)
> >   (toggle-truncate-lines 1))
> > 
> > then hit C-e (end-of-visual-line) a few times. After some hits, the
> > cursor doesn't move anymore, although it's not at the end of the line.
> > On my machine, it goes to column 70, then 100, then stops there even
> > when hitting C-e again.
> > 
> > I expect emacs to scroll horizontally instead
> 
> Why do you expect that?  "Visual line" means the line that is on
> display.  What isn't on display does not exist for this purpose.
> 
> Is there some real-life use case behind this?  If so, please show it.

Actually, no, don't bother.  I found out that this was due to the
original code in vertical-motion being incorrect due to some subtle
aspect of the display engine which the code ignored.

Fixed in revision 117277 on the emacs-24 branch.