From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Deniz Dogan Newsgroups: gmane.emacs.bugs Subject: bug#11697: 24.1.50; ERC scroll-to-bottom functionality 'broken' in emacs 24.1.x Date: Thu, 14 Jun 2012 22:51:08 +0200 Message-ID: <4FDA4EBC.2080703@dogan.se> References: <87ipevji6m.fsf@pringles.terranpro.org> <4FD8F1F4.6080809@dogan.se> <87ehpiz0iu.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1339707141 10775 80.91.229.3 (14 Jun 2012 20:52:21 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 14 Jun 2012 20:52:21 +0000 (UTC) Cc: 11697@debbugs.gnu.org To: Antoine Levitt Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jun 14 22:52:20 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SfH1Y-0002Aj-UZ for geb-bug-gnu-emacs@m.gmane.org; Thu, 14 Jun 2012 22:52:13 +0200 Original-Received: from localhost ([::1]:49464 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SfH1Y-0005Q4-PG for geb-bug-gnu-emacs@m.gmane.org; Thu, 14 Jun 2012 16:52:12 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:48886) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SfH1V-0005Py-Oi for bug-gnu-emacs@gnu.org; Thu, 14 Jun 2012 16:52:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SfH1T-0005K0-I4 for bug-gnu-emacs@gnu.org; Thu, 14 Jun 2012 16:52:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33155) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SfH1T-0005Iq-EK for bug-gnu-emacs@gnu.org; Thu, 14 Jun 2012 16:52:07 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SfH4H-00065c-JD for bug-gnu-emacs@gnu.org; Thu, 14 Jun 2012 16:55:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Deniz Dogan Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Jun 2012 20:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11697 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 11697-submit@debbugs.gnu.org id=B11697.133970726723370 (code B ref 11697); Thu, 14 Jun 2012 20:55:01 +0000 Original-Received: (at 11697) by debbugs.gnu.org; 14 Jun 2012 20:54:27 +0000 Original-Received: from localhost ([127.0.0.1]:42701 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfH3i-00064t-R9 for submit@debbugs.gnu.org; Thu, 14 Jun 2012 16:54:27 -0400 Original-Received: from mxf1.bahnhof.se ([213.80.101.25]:58783) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfH3f-00064g-RQ for 11697@debbugs.gnu.org; Thu, 14 Jun 2012 16:54:25 -0400 Original-Received: from localhost (mxf1.local [127.0.0.1]) by mxf1-reinject (Postfix) with ESMTP id 18BD01E3144; Thu, 14 Jun 2012 22:51:29 +0200 (CEST) X-Virus-Scanned: by amavisd-new using ClamAV at bahnhof.se (MXF1) Original-Received: from mxf1.bahnhof.se ([127.0.0.1]) by localhost (mxf1.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ca9sj8Le2jnW; Thu, 14 Jun 2012 22:51:25 +0200 (CEST) Original-Received: from [192.168.1.4] (h-149-227.a336.priv.bahnhof.se [37.123.149.227]) by mxf1.bahnhof.se (Postfix) with ESMTP id 77AE61E30E8; Thu, 14 Jun 2012 22:51:25 +0200 (CEST) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20120604 Thunderbird/13.0 In-Reply-To: <87ehpiz0iu.fsf@gmail.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:60986 Archived-At: On 2012-06-14 11:49,, Antoine Levitt wrote: > 13/06/12 22:03, Deniz Dogan >> 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 >>> buffer. >>> >>> 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 >>> again. >>> >>> 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 >>> `post-command-hook'. >>> >>> Examining commits, I found the culprit: >>> >>> commit: >>> a1d63e03c3eda51dcec158d6027adf9dbdcfd8dd >>> >>> view changes via git emacs web: >>> http://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/erc/erc-goodies.el?id=a1d63e03c3eda51dcec158d6027adf9dbdcfd8dd >>> >>> >>> 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: >>> (erc-scrolltobottom-mode) >>> (setq erc-input-line-position -2) >>> >>> Regards, >>> Brian >>> >> >> 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". > > Hi, > > I'm responsible for the mess. Sorry, I don't customize > erc-input-line-position, and it didn't occur to me that it might mess > things up. I tried to think of something better for erc-scrolltobottom, > but I'm not familiar with erc internals and that was the best I could > do. The reason for the change was that as you said, > window-scroll-functions is not intended to be used like that, and it > caused weird bugs. > >> 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.) > > Great! Could you submit a proper patch, so that Someone (tm; there seems > to be a lack of maintainers for ERC) can review it and merge it into > trunk? erc-scrolltobottom has been broken for years, with weird bugs and > excessive CPU consumption, and it's high time it changed. > The excessive CPU consumption comes from the fact that it nowadays uses post-command-hook, which is executed just about all the time. :) Unfortunately, my patch (ab)uses window-scroll-functions, so it's really no better than the way ERC was before.