[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#11697: 24.1.50; ERC scroll-to-bottom functionality 'broken' in emacs

From: Deniz Dogan
Subject: bug#11697: 24.1.50; ERC scroll-to-bottom functionality 'broken' in emacs 24.1.x
Date: Wed, 13 Jun 2012 22:03:00 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20120604 Thunderbird/13.0

On 2012-06-13 18:22,, Brian Fransioli wrote:

After updating to emacs 24.1.x I noticed ERC scroll functionality
changed.  Originally, it would recenter to force the prompt to be near
the bottom of the screen (according to `erc-input-line-position').  Now,
this recentering only happens when I enter text, or perform a mouse
event.  Channel joins/parts and new messages hit the bottom of the
screen, and recentering moves the bottom line to the center of the

The overall effect is input by the user moves the screen to the bottom,
while channel/server inputs bounce around from middle to bottom and back

Looking in erc-goodies.el at `erc-add-scroll-bottom', it's easy to see
the documentation is also out of date.  It states it uses
`window-scroll-functions' but instead adds the hook to

Examining commits, I found the culprit:


view changes via git emacs web:

I see that the changes were reported to fix a bug on tty's, but the
results are severe motion sickness for even moderately chatty channels.

Reproduce by:
(setq erc-input-line-position -2)


Firstly, I agree with you completely that scrolltobottom needs improvements. I can't be sure why they changed the behavior, since the new method is clearly inferior, but I believe it's because window-scroll-functions is never meant to change "the way the window is scrolled".

I've monkey-patched ERC myself to handle the whole thing better. I've attached the Lisp. Just evaluate all the code and you'll be all set. (I know it's not production-quality code, but it does the job and relieves you from ever thinking about it again.)


Attachment: erc-better-scroll.el
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]