Subject: Re: bug#12170: save-excursion fails boundary case with recenter

From: martin rudalics <[email-masked]>
Date: Fri, 10 Aug 2012 18:47:14 +0200

> Knowing which to do when is not obvious, but IIUC if window-start has
 > not been changed, then the redisplay assumes that it is free to change
 > (window-)point, whereas otherwise it will assume that it should not
 > change (window-)point but can instead change window-start.

IIUC redisplay_window respects the window start position specified in
w->start provided w->force_start or w->frozen_window_start_p hold.
Scrolling, recentering, and things like `move-to-window-line' set the
former (frozen_window_start_p seems purely internal).  The question is
whether these should prevail subsequent point movement or, subsequent
point movement should prevail and reset these flags.

martin