From: "Stephan Stahl" <stahl@eos.franken.de>
Cc: Francis Litterio <franl@world.std.com>, emacs-devel@gnu.org
Subject: Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!
Date: Fri, 3 Sep 2004 08:27:23 +0200 (CEST) [thread overview]
Message-ID: <51975.217.194.34.123.1094192843.squirrel@wwws.franken.de> (raw)
In-Reply-To: <jwvhdqgh08m.fsf-monnier+emacs@gnu.org>
Hi Stefan, Francis.
Stefan Monnier said:
>>>> (set-window-buffer (selected-window) buffer)
>>>> once for every buffer while building the buffer menu. On my Windows
>>>> XP
>>>> machine, this makes Emacs briefely display every buffer for a fraction
>>>
>>> Isn't it a bug that a redisplay would happen in that loop?
>>> Which function in that loop lets redisplay happen?
>
>> It's definitely set-window-buffer, because when I remove the call to
>> that function, the symptom goes away.
That line in list-buffer-noselect was introduced by a patch from me.
Revision 1.67: (list-buffers-noselect): Append the buffer's process status
to its mode name.
If it is removed the following code in buff-menu.el will not work correctly:
mode (progn
(set-window-buffer (selected-window) buffer)
(concat (format-mode-line mode-name)
(if mode-line-process
(format-mode-line mode-line-process))))
file (buffer-file-name)))
format-mode-line will only work correctly if it is called while the buffer
is selected. A way to reproduce the bug is: remove that line. start two
shells. kill one of them and do C-x C-b. Now the added information about
the process status is not correct. If you do C-x C-b from the running
shell both are shown with ":run". From the killed shell both will show
":exit [0]".
In fact that will be that case for all buffers with a process..
> It might be, but it's not necessarily the case: in Emacs, redisplay is
> a separate operation from "changes to the buffer or the window layout".
> `set-window-buffer' changes the window-layout which means it changes "what
> will be displayed at next redisplay" but it shouldn't call
> redisplay itself.
>
> My question is not directly related to your problem, in the sense that
> I think your patch is OK (except it should add a comment explaining why we
> removed the call to set-window-buffer), but I think that your problem also
> exposed another bug in the C code.
I tested my patch on both Debian GNU/Linux and WXP. Maybe i did not look
close enough to notice that bug. I think we should try to find it and only
if that fails revert my patch..
Stephan
--
Stephan Stahl
next prev parent reply other threads:[~2004-09-03 6:27 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-02 18:59 CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly! Francis Litterio
2004-09-02 19:57 ` Stefan Monnier
2004-09-02 20:07 ` Francis Litterio
2004-09-02 20:48 ` Stefan Monnier
2004-09-03 6:27 ` Stephan Stahl [this message]
2004-09-03 11:49 ` Francis Litterio
2004-09-04 3:28 ` Richard Stallman
2004-09-03 18:54 ` Kevin Rodgers
2004-09-04 8:42 ` Stephan Stahl
2004-09-04 19:40 ` Francis Litterio
2004-09-04 22:12 ` Richard Stallman
2004-09-03 19:15 ` Francis Litterio
-- strict thread matches above, loose matches on Subject: below --
2004-09-05 5:12 Richard Stallman
2004-09-07 15:42 ` Francis Litterio
2004-09-08 0:22 ` Richard Stallman
2004-09-08 14:36 ` Francis Litterio
2004-09-09 4:02 ` Richard Stallman
2004-09-09 15:46 ` Francis Litterio
2004-09-08 15:02 ` Francis Litterio
2004-09-08 16:20 ` Kevin Rodgers
2004-09-08 18:21 ` Francis Litterio
2004-09-09 4:03 ` Richard Stallman
2004-09-09 8:23 ` Stephan Stahl
2004-09-09 15:41 ` Francis Litterio
2004-09-09 16:13 ` Stephan Stahl
2004-09-09 15:45 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51975.217.194.34.123.1094192843.squirrel@wwws.franken.de \
--to=stahl@eos.franken.de \
--cc=emacs-devel@gnu.org \
--cc=franl@world.std.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.