Subject: 26.1; comint-scroll-show-maximum-output nil regression
From: Mark H Weaver <[email-masked]>
To: [email-masked]
Date: Wed, 30 May 2018 01:56:13 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Emacs 26.1 has introduced a regression compared with 25.3 in the
handling of 'comint-scroll-show-maximum-output', which I prefer to set
to nil.  Here's how to reproduce the problem:

* Run "emacs-26.1 -Q", with or without "-nw" as you prefer.
* M-x shell
* M-: (setq comint-scroll-show-maximum-output nil)
* Press RET repeatedly until the window starts scrolling.

Observe that after the point reaches the bottom of the window, it is
subsequently kept at the bottom of the window by aggressively scrolling
one line at a time.

If you perform the same steps above with emacs-25.3, you'll see that it
always recenters, so that scrolling occurs only once for every ~N/2
lines of output, where N is the window height.

Note that (setq comint-scroll-show-maximum-output nil) still has some
effect.  After performing the steps above, try this:

* C-l
* Press RET repeatedly until the window starts scrolling.
* M-: (setq comint-scroll-show-maximum-output t)
* C-l
* Press RET just once.

Observe that with 'comint-scroll-show-maximum-output' set to t, the
first RET after C-l immediately scrolls the window to show the maximum
output.

If you can suggest a workaround or a patch to fix this issue, I would be
grateful.

Thanks very much for your work on Emacs.

     Mark