From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Francis Litterio Newsgroups: gmane.emacs.devel Subject: Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly! Date: Wed, 08 Sep 2004 10:36:33 -0400 Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1094655675 8368 80.91.224.253 (8 Sep 2004 15:01:15 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 8 Sep 2004 15:01:15 +0000 (UTC) Cc: Stephan Stahl , Kevin Rodgers , Richard Stallman , Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Sep 08 17:01:03 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1C53wU-0006j9-00 for ; Wed, 08 Sep 2004 17:01:02 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C541l-0006RK-EC for ged-emacs-devel@m.gmane.org; Wed, 08 Sep 2004 11:06:29 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1C541b-0006Qa-Tt for emacs-devel@gnu.org; Wed, 08 Sep 2004 11:06:20 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1C541Z-0006Pn-UG for emacs-devel@gnu.org; Wed, 08 Sep 2004 11:06:19 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C541Y-0006Pa-Lr for emacs-devel@gnu.org; Wed, 08 Sep 2004 11:06:17 -0400 Original-Received: from [192.74.137.141] (helo=TheWorld.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1C53wE-0001TW-T9; Wed, 08 Sep 2004 11:00:47 -0400 Original-Received: from lt371-fran.theworld.com (root@shell01.theworld.com [192.74.137.71]) by TheWorld.com (8.12.8p1/8.12.8) with ESMTP id i88ExFMY007035; Wed, 8 Sep 2004 10:59:20 -0400 Original-To: emacs-devel@gnu.org X-Random-Quote: I believe that a scientist looking at nonscientific problems is just as dumb as the next guy. -- Richard Feynman In-Reply-To: (Richard Stallman's message of "Sun, 05 Sep 2004 01:12:50 -0400") User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (windows-nt) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:26889 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:26889 Richard Stallman wrote: > However, I still think we should find out why redisplay > happens inside that loop, since in all appearance, there should > be no redisplay. I think I found the cause of the problem. Here are the details: 1. list-buffers-noselect calls set-window-buffer once for every buffer. 2. set-window-buffer calls the functions on window-scroll-functions. 3. The problem only happens when I'm running ERC (the Emacs IRC client). 4. ERC adds the function erc-scroll-to-bottom to window-scroll-functions (locally in each ERC buffer). 5. erc-scroll-to-bottom calls recenter. 6. recenter's docstring says "Center point in window and redisplay frame." but I can't find a code path that leads from recenter to redisplay. Despite not being able to find the actual call to redisplay, I think that this explains the behavior I was seeing. Can someone who knows Emacs display logic better than me confirm or deny my conclusion? Question: Since set-window-buffer calls the hooks on window-scroll-functions, should list-buffers-noselect be changed to avoid this potential for redisplay? -- Francis Litterio franl@world.std.com http://world.std.com/~franl/ GPG and PGP public keys available on keyservers.