Subject: Re: bug#12401: scroll-preserve-screen-position broken with font height faces

From: martin rudalics <[email-masked]>
Date: Wed, 12 Sep 2012 10:08:48 +0200

>>> scroll-preserve-screen-position?  Is it just that doing N C-v's
 >>> followed by N M-v's brings point to the same location where it was
 >>> before this sequence of 2N commands?
 >> I think this should be the main point, yes.
 >
 > For this to work, we would need to make sure that C-v followed by M-v
 > end up with a window that has the same window-start as the one before
 > C-v.

Why?

 > But this is impossible to ensure with the way we compute
 > window-start, because the move_it family of functions used for that
 > can only move forward; therefore moving back is necessarily
 > implemented differently, and the results differ when variable-size
 > fonts are present.
 >
 > IOW, this is a limitation of the current design of the
 > window-scrolling functions that can only be lifted by redesigning.

I'm completely happy with the following solution: Whenever, after a
sequence of scrolling commands, the original position (that is the
position before the sequence started) reappears in a window, move to
that position and leave the window start position alone.  See also

http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01892.html

martin