emacs-devel
[Top][All Lists]
Advanced

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

Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays eve


From: Francis Litterio
Subject: Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!
Date: Wed, 08 Sep 2004 10:36:33 -0400
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (windows-nt)

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
address@hidden
http://world.std.com/~franl/
GPG and PGP public keys available on keyservers.




reply via email to

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