* [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
@ 2007-08-17 20:18 Richard Stallman
2007-08-24 23:04 ` Glenn Morris
0 siblings, 1 reply; 14+ messages in thread
From: Richard Stallman @ 2007-08-17 20:18 UTC (permalink / raw)
To: emacs-devel
Would someone please DTRT and ack?
------- Start of forwarded message -------
X-Spam-Status: No, score=0.5 required=5.0 tests=DNS_FROM_RFC_ABUSE,
UNPARSEABLE_RELAY autolearn=no version=3.1.0
Date: Thu, 16 Aug 2007 20:28:11 -0700
From: William Paul Vrotney <vrotney@earthlink.net>
To: bug-gnu-emacs@gnu.org
FCC: ~/rmail/sent
Subject: Eamcs 22.1 comint-scroll-show-maximum-output bug
BUG DESCRIPTION:
First noticed in Emacs 22.1. The comint variable
comint-scroll-show-maximum-output
does not work as documented when set to nil. For example when setting this
variable to nil when using M-x shell the Emacs 22.1 manual says
41.7 Shell Mode Options
If `comint-scroll-show-maximum-output' is non-`nil', then arrival
of output when point is at the end tries to scroll the last line of
text to the bottom line of the window, showing as much useful text
as possible. (This mimics the scrolling behavior of most
terminals.) The default is `t'.
BUG REPLICATION:
Emacs source: from http://ftp.gnu.org emacs-22.1.tar.gz
Build: Simply: configure; make; make install;
Emacs M-x version: Its value is "22.1.1"
Operating System: Fedora core 3
Emacs Invocation: emacs -q
Then if you then do the following
M-x set-variable comint-scroll-show-maximum-output nil
M-x shell
then once the shell buffer becomes full every output still scrolls the
last line of text to the bottom as it does when
comint-scroll-show-maximum-output is set to t.
I've tried setting this variable in all possible ways: before/after
running M-x shell and using 'setq' in ~/.emacs, 'M-x set-variable' and
'M-x customize. But with all the same results as explained above.
OTHER INFORMATION: The M-x shell defaults to running the bash shell.
ADDITIONAL RELATED BUG:
When I run the command M-x shell with comint-scroll-show-maximum-output
set to nil the shell buffer window does not show the first line of bash
shell output. In my case it the first line of my two line prompt. If I
type M-x recenter then the first line of bash shell output comes into
view in the buffer window.
PATCH:
If I use Emacs 22.1 but load in my ~/.emacs the comint.elc from Emacs
21.3 then all works fine as it did for Emacs 23.1 and earlier.
_______________________________________________
bug-gnu-emacs mailing list
bug-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs
------- End of forwarded message -------
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-17 20:18 [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug] Richard Stallman
@ 2007-08-24 23:04 ` Glenn Morris
2007-08-25 1:35 ` Stefan Monnier
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Glenn Morris @ 2007-08-24 23:04 UTC (permalink / raw)
To: rms; +Cc: emacs-devel
Richard Stallman wrote:
> comint-scroll-show-maximum-output
>
> does not work as documented when set to nil.
This is caused by your 2002-12-28 change to comint-mode that sets
scroll-conseratively to 10000. This was reported and diagnosed two
years ago, and you said:
From: Richard M. Stallman
Subject: Re: scrolling in comint mode always conservative
Date: Mon, 19 Sep 2005 20:03:02 -0400
I put that in because it did not work otherwise. So I can't take
it out. I could imagine conditionalizing that setq on some of
those other variables, such as comint-scroll-to-bottom... That
would not be 100% correct, since changing those variables would
not have the right effect on an existing shell buffer. But it
might be better than nothing.
I tried let-binding scroll-conservatively in
comint-postoutput-scroll-to-bottom, but it does not help. In other
words, things like this don't work, for reasons I don't understand:
(setq scroll-conservatively 0)
(let ((scroll-conservatively 10000)) ; no effect
(goto-char (point-max))) ; still acts like s-c = 0
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-24 23:04 ` Glenn Morris
@ 2007-08-25 1:35 ` Stefan Monnier
2007-08-25 19:13 ` Glenn Morris
2007-08-26 14:15 ` Chong Yidong
2007-08-27 3:07 ` Richard Stallman
2 siblings, 1 reply; 14+ messages in thread
From: Stefan Monnier @ 2007-08-25 1:35 UTC (permalink / raw)
To: Glenn Morris; +Cc: rms, emacs-devel
> (let ((scroll-conservatively 10000)) ; no effect
> (goto-char (point-max))) ; still acts like s-c = 0
Of course: the let-binding is only active during evaluation of `goto-char'
whereas `scroll-conservatively' is only used later on by the redisplay
engine (which only kicks in when the elisp code is done executing).
Stefan
^ permalink raw reply [flat|nested] 14+ messages in thread
* [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
@ 2007-08-25 4:07 Richard Stallman
0 siblings, 0 replies; 14+ messages in thread
From: Richard Stallman @ 2007-08-25 4:07 UTC (permalink / raw)
To: emacs-devel
[I sent this message a week ago but did not get a response.]
Would someone please DTRT and ack?
------- Start of forwarded message -------
X-Spam-Status: No, score=0.5 required=5.0 tests=DNS_FROM_RFC_ABUSE,
UNPARSEABLE_RELAY autolearn=no version=3.1.0
Date: Thu, 16 Aug 2007 20:28:11 -0700
From: William Paul Vrotney <vrotney@earthlink.net>
To: bug-gnu-emacs@gnu.org
FCC: ~/rmail/sent
Subject: Eamcs 22.1 comint-scroll-show-maximum-output bug
BUG DESCRIPTION:
First noticed in Emacs 22.1. The comint variable
comint-scroll-show-maximum-output
does not work as documented when set to nil. For example when setting this
variable to nil when using M-x shell the Emacs 22.1 manual says
41.7 Shell Mode Options
If `comint-scroll-show-maximum-output' is non-`nil', then arrival
of output when point is at the end tries to scroll the last line of
text to the bottom line of the window, showing as much useful text
as possible. (This mimics the scrolling behavior of most
terminals.) The default is `t'.
BUG REPLICATION:
Emacs source: from http://ftp.gnu.org emacs-22.1.tar.gz
Build: Simply: configure; make; make install;
Emacs M-x version: Its value is "22.1.1"
Operating System: Fedora core 3
Emacs Invocation: emacs -q
Then if you then do the following
M-x set-variable comint-scroll-show-maximum-output nil
M-x shell
then once the shell buffer becomes full every output still scrolls the
last line of text to the bottom as it does when
comint-scroll-show-maximum-output is set to t.
I've tried setting this variable in all possible ways: before/after
running M-x shell and using 'setq' in ~/.emacs, 'M-x set-variable' and
'M-x customize. But with all the same results as explained above.
OTHER INFORMATION: The M-x shell defaults to running the bash shell.
ADDITIONAL RELATED BUG:
When I run the command M-x shell with comint-scroll-show-maximum-output
set to nil the shell buffer window does not show the first line of bash
shell output. In my case it the first line of my two line prompt. If I
type M-x recenter then the first line of bash shell output comes into
view in the buffer window.
PATCH:
If I use Emacs 22.1 but load in my ~/.emacs the comint.elc from Emacs
21.3 then all works fine as it did for Emacs 23.1 and earlier.
_______________________________________________
bug-gnu-emacs mailing list
bug-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs
------- End of forwarded message -------
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-25 1:35 ` Stefan Monnier
@ 2007-08-25 19:13 ` Glenn Morris
0 siblings, 0 replies; 14+ messages in thread
From: Glenn Morris @ 2007-08-25 19:13 UTC (permalink / raw)
To: Stefan Monnier; +Cc: rms, emacs-devel
Stefan Monnier wrote:
> Of course: the let-binding is only active during evaluation of `goto-char'
> whereas `scroll-conservatively' is only used later on by the redisplay
> engine (which only kicks in when the elisp code is done executing).
I thought after the fact that it must be something like that.
I guess if all else fails, comint-scroll-show-maximum-output can just
become another one of those variables that should not be set directly,
only via M-x customize or some helper function.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-24 23:04 ` Glenn Morris
2007-08-25 1:35 ` Stefan Monnier
@ 2007-08-26 14:15 ` Chong Yidong
2007-08-27 1:18 ` Glenn Morris
2007-08-27 3:07 ` Richard Stallman
2 siblings, 1 reply; 14+ messages in thread
From: Chong Yidong @ 2007-08-26 14:15 UTC (permalink / raw)
To: Glenn Morris; +Cc: rms, emacs-devel
Glenn Morris <rgm@gnu.org> writes:
> This is caused by your 2002-12-28 change to comint-mode that sets
> scroll-conseratively to 10000. This was reported and diagnosed two
> years ago, and you said:
>
> From: Richard M. Stallman
> Subject: Re: scrolling in comint mode always conservative
> Date: Mon, 19 Sep 2005 20:03:02 -0400
>
> I put that in because it did not work otherwise. So I can't take
> it out. I could imagine conditionalizing that setq on some of
> those other variables, such as comint-scroll-to-bottom... That
> would not be 100% correct, since changing those variables would
> not have the right effect on an existing shell buffer. But it
> might be better than nothing.
I don't understand what the original problem is. Taking out the
binding of scroll-conservatively does not seem to affect how Emacs
scrolls to the bottom.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-26 14:15 ` Chong Yidong
@ 2007-08-27 1:18 ` Glenn Morris
0 siblings, 0 replies; 14+ messages in thread
From: Glenn Morris @ 2007-08-27 1:18 UTC (permalink / raw)
To: Chong Yidong; +Cc: rms, emacs-devel
Chong Yidong wrote:
> I don't understand what the original problem is. Taking out the
> binding of scroll-conservatively does not seem to affect how Emacs
> scrolls to the bottom.
I await an answer along the lines of "I put that change in for a
reason, though I can't remember what it was. Please do not take it
out". ;)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-24 23:04 ` Glenn Morris
2007-08-25 1:35 ` Stefan Monnier
2007-08-26 14:15 ` Chong Yidong
@ 2007-08-27 3:07 ` Richard Stallman
2007-08-27 7:24 ` Glenn Morris
2 siblings, 1 reply; 14+ messages in thread
From: Richard Stallman @ 2007-08-27 3:07 UTC (permalink / raw)
To: Glenn Morris, vrotney; +Cc: emacs-devel
Does this fix the bug?
*** comint.el 25 Jul 2007 11:49:09 -0400 1.361.2.2
--- comint.el 26 Aug 2007 21:04:46 -0400
***************
*** 1875,1883 ****
;; ends at the bottom of the window.
(if (and comint-scroll-show-maximum-output
(= (point) (point-max)))
! (save-excursion
! (goto-char (point-max))
! (recenter (- -1 scroll-margin))))
(select-window selected)))))
nil t))
(set-buffer current))))
--- 1875,1884 ----
;; ends at the bottom of the window.
(if (and comint-scroll-show-maximum-output
(= (point) (point-max)))
! (let ((scroll-conservatively nil))
! (save-excursion
! (goto-char (point-max))
! (recenter (- -1 scroll-margin)))))
(select-window selected)))))
nil t))
(set-buffer current))))
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-27 3:07 ` Richard Stallman
@ 2007-08-27 7:24 ` Glenn Morris
[not found] ` <E1IPj9q-0003bB-S3@fencepost.gnu.org>
0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2007-08-27 7:24 UTC (permalink / raw)
To: rms; +Cc: vrotney, emacs-devel
Richard Stallman wrote:
> Does this fix the bug?
No. I already said I tried that and it does not work. (You should set
scroll-conservatively to 0 rather than nil BTW.)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
[not found] ` <E1IPj9q-0003bB-S3@fencepost.gnu.org>
@ 2007-08-27 18:34 ` Glenn Morris
[not found] ` <E1IQ3Ie-0008OM-HI@fencepost.gnu.org>
0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2007-08-27 18:34 UTC (permalink / raw)
To: rms; +Cc: vrotney, emacs-devel
Richard Stallman wrote:
> Are you saying that the bug is not caused by setting
> scroll-conservatively at all?
I'm not sure why we have these failures to communicate.
The bug _is_ caused by setting scroll-conservatively to 10000 in
comint buffers as a buffer local variable. Let-binding it back to 0 in
the relevant command does not help (because of when redisplay
happens).
The offered solutions are:
1) Don't set it to 10000 in comint buffers, since it doesn't seem to
be needed.
2) Make it a variable that should not be set directly, only via M-x
customize or a function that sets scroll-conservatively at the same
time.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
[not found] ` <modgrcyc6.fsf@fencepost.gnu.org>
@ 2007-08-30 7:15 ` Richard Stallman
2007-08-31 3:54 ` Glenn Morris
0 siblings, 1 reply; 14+ messages in thread
From: Richard Stallman @ 2007-08-30 7:15 UTC (permalink / raw)
To: Glenn Morris; +Cc: vrotney, emacs-devel
But the default for scroll-conservatively is 0, and you saw no problem
in unconditionally changing it to 10000 in all comint-mode buffers for
the sake of comint-scroll-show-maximum-output.
I don't think it was for the sake fo comint-scroll-show-maximum-output.
Why do you think so?
My 2005 message seems to say it was for the sake of
comint-scroll-to-bottom-on-input.
1) Don't set it to 10000 in comint buffers, since it doesn't seem to
be needed.
How did you reach the conclusion that it isn't needed?
To see if this setting really avoids a problem, we'd have to try some
cases that make comint-scroll-to-bottom-on-input to something
nontrivial.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-30 7:15 ` Richard Stallman
@ 2007-08-31 3:54 ` Glenn Morris
2007-08-31 18:21 ` Richard Stallman
0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2007-08-31 3:54 UTC (permalink / raw)
To: rms; +Cc: emacs-devel
Richard Stallman wrote:
> I don't think it was for the sake fo comint-scroll-show-maximum-output.
> Why do you think so?
Because the changelog entry looks like this:
* comint.el (comint-mode): Locally set scroll-conservatively.
(comint-postoutput-scroll-to-bottom):
comint-scroll-show-maximum-output is active only when point is at end.
> My 2005 message seems to say it was for the sake of
> comint-scroll-to-bottom-on-input.
I don't know how you reach that conclusion.
> 1) Don't set it to 10000 in comint buffers, since it doesn't seem to
> be needed.
>
> How did you reach the conclusion that it isn't needed?
I could answer that more easily if you could tell me how you reached
the conclusion that it _is_ needed.
I find nothing in devel, bugs, or pretest-bug when searching for
comint or scroll-conservatively in the relevant time.
emacs22 -Q
M-x shell
M-: (setq comint-scroll-to-bottom-on-input t)
press return a lot to get shell buffer longer than window height
scroll to top
type "ls"
-> window scrolls so that end of buffer is in the middle of the screen
Repeat the above with scroll-conservatively set to 0. No change.
You can leave it set at 10000 if you want. I don't know how to solve
the current, well-defined problem. Perhaps someone else does, but
nobody seems to be jumping in with suggestions.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-31 3:54 ` Glenn Morris
@ 2007-08-31 18:21 ` Richard Stallman
2007-08-31 18:42 ` Glenn Morris
0 siblings, 1 reply; 14+ messages in thread
From: Richard Stallman @ 2007-08-31 18:21 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
> My 2005 message seems to say it was for the sake of
> comint-scroll-to-bottom-on-input.
I don't know how you reach that conclusion.
Look at the words in the message.
> 1) Don't set it to 10000 in comint buffers, since it doesn't seem to
> be needed.
>
> How did you reach the conclusion that it isn't needed?
I could answer that more easily if you could tell me how you reached
the conclusion that it _is_ needed.
Unfortunately, I do not remember that.
I can tell you what that old message seems to say,
but I don't recall anything about it myself.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug]
2007-08-31 18:21 ` Richard Stallman
@ 2007-08-31 18:42 ` Glenn Morris
0 siblings, 0 replies; 14+ messages in thread
From: Glenn Morris @ 2007-08-31 18:42 UTC (permalink / raw)
To: rms; +Cc: emacs-devel
Richard Stallman wrote:
> Look at the words in the message.
Gosh, thanks, I never thought of that.
I don't think I'm helping here. I invite any of the keen and eager
team of bug fixers to deal with this.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2007-08-31 18:42 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-17 20:18 [vrotney@earthlink.net: Eamcs 22.1 comint-scroll-show-maximum-output bug] Richard Stallman
2007-08-24 23:04 ` Glenn Morris
2007-08-25 1:35 ` Stefan Monnier
2007-08-25 19:13 ` Glenn Morris
2007-08-26 14:15 ` Chong Yidong
2007-08-27 1:18 ` Glenn Morris
2007-08-27 3:07 ` Richard Stallman
2007-08-27 7:24 ` Glenn Morris
[not found] ` <E1IPj9q-0003bB-S3@fencepost.gnu.org>
2007-08-27 18:34 ` Glenn Morris
[not found] ` <E1IQ3Ie-0008OM-HI@fencepost.gnu.org>
[not found] ` <modgrcyc6.fsf@fencepost.gnu.org>
2007-08-30 7:15 ` Richard Stallman
2007-08-31 3:54 ` Glenn Morris
2007-08-31 18:21 ` Richard Stallman
2007-08-31 18:42 ` Glenn Morris
-- strict thread matches above, loose matches on Subject: below --
2007-08-25 4:07 Richard Stallman
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.