Subject: bug#9549: Problem not completely fixed

From: Eli Zaretskii <[email-masked]>
Date: Sat, 24 Sep 2011 16:30:22 +0300

> Date: Thu, 22 Sep 2011 06:07:02 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> > 4) M-x longlines-show-hard-newlines
> > 
> > 5) put point between in the middle of >< in last line
> > 
> > 6) type UP 2 times and observe that point goes to beginning of 4th line,
> > strangely
> > 
> > 7) type UP again e text behaves normally.
> > 
> > 8) now put the point in the end of last line
> > 
> > 9) type UP and point strangely goes to beginning of line, and next UPs
> > always put point ant beginning of lines.
> 
> Don't you see the same behavior in Emacs 23?  I do, and so the above
> is an entirely different problem, inherent to how C-n and C-p deduce
> what column to use as a temporary goal for placing point on the next
> or previous line.  For an even uglier manifestation of this problem,
> see the 2nd problem described in bug #9254.

I think I now fixed the fundamental bug that caused these problems.
In general, vertical-motion and posn-at-point were broken when cursor
was positioned on a newline that came from a display string.

The bug was quite old, it exists at least in Emacs 23, perhaps even
before that.

Stefan and Chong, please eyeball the (highly non-trivial) changes in
revision 105900, I hope I didn't break anything.