Subject: Re: bug#17678: 24.4.50; Feature Request -- calculate new `window-start` & `window-end` before visual redisplay

From: Eli Zaretskii <[email-masked]>
Date: Sat, 14 Jun 2014 12:45:18 +0300

> Date: Fri, 13 Jun 2014 23:59:33 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> > From: Stefan Monnier <[email-masked]>
> > Cc: [email-masked],  [email-masked]
> > Date: Fri, 13 Jun 2014 14:47:05 -0400
> > 
> > >> > Not necessarily: there are the w->optional_new_start and
> > >> > w-> force_start flags, which determine what redisplay does with
> > >> > window-start in these cases.
> > >> > Also, the window-start could be set to a value that leaves point out
> > >> > of the displayed area, in which case it won't be in effect.
> > >> Right, but these fall back into the case where redisplay performs
> > >> a second pass trough the window/buffer, so it's similar to the scrolling
> > >> case, right?
> > > Not necessarily, AFAIR.  Sometimes these situations are detected and
> > > handled on the fly.
> > 
> > Aha!  Could you add comment somewhere in xdisp.c discussing the above
> > issues about how/when is window-start obeyed and when it's not and
> > when that causes a second pass and when that's handled on the fly?
> 
> I will see what I can do.

Done in emacs-24 revision 117239.  Please see if it's good enough.