Subject: bug#3576: 23.0.94; scroll bar scrolls past eob - keeps scrolling

From: "Drew Adams" <[email-masked]>
Date: Tue, 16 Jun 2009 17:34:56 -0700

> > > Yep.  Emacs 21.4 stops on the last text line, Emacs 22.3 
> > > and 23.0.94 stop on EOB.
> > 
> > What do you mean by "stop on EOB"? If end of the buffer is 
> > the newline immediately following the last line of non-newline
> > chars, then how can showing up to a screenful of blank vertical
> > space be considered "stopping at EOB"?
> 
> EOB == (point-max)
> 
> Emacs 21.4 stops when the last line of the buffer is at the topmost
> line of the window.  Emacs 22 and 23 put EOB on the topmost line of
> the window.

Emacs 22/23 does not put the last non-whitespace line at the top of the window.
It apparently puts (point-max) at the top, which in most cases (e.g. Lisp
libraries) is a line with only a newline character.

Why should they put the last line (whitespace or not) at the _top_ of the
window, instead of the bottom of the window? Why would someone want to see an
extra screen of blank space, with the final newline at the top of the window?
That just doesn't seem very user friendly.

Do you know of a use case for that, which might justify that as the standard
behavior?

If not, I propose that this be fixed by returning to the Emacs 20/21 behavior.

> > Do you mean that it decides that the final newline has as a 
> > right to be scrolled to the top of the screen? Is that what
> > "stopping at eob" means?
> > 
> > If this is just an unfortunate result of the way things 
> > happen to be currently implemented, that's one thing.
> > But I find it hard to believe that this would have been a
> > design goal - that someone would start out intentionally to
> > produce this behavior. What's the advantage or use case?
> > 
> > I've never seen this behavior in any other app (though I'm 
> > sure you'll come up with some other app that has the same
> > behavior). ;-)
> 
> I was just stating the fact, not embracing it.
> 
> Now, can you please stop shouting at me?  My only sin is that I
> confirmed your report.

No one has shouted at you. Don't be so defensive.

This is not about you, at all. It's merely a bug report. Thank you for
confirming it.