emacs-devel
[Top][All Lists]
Advanced

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

Re: threads and kill-buffer


From: Stefan Monnier
Subject: Re: threads and kill-buffer
Date: Fri, 07 Sep 2012 10:44:58 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)

>>> And if, at the time it gets killed, *Backtrace* appears in a window
>>> managed by thread A what do I see after it has been killed?
>> Some other buffer: a window cannot display a killed buffer.
> So killing a buffer will change the current buffer when it's displayed
> in a window and leave it unchanged otherwise.  Would we really like such
> behavior?

No, killing a buffer will undisplay it from wherever it is displayed
(as is the case now).  But this has no influence of what
`current-buffer' is.

IOW: currently kill-buffer does:
1- undisplay the buffer.
2- change current-buffer if needed.
3- set buffer-name to nil (and remove from buffer-list).
4- throw away some internal data (like the buffer's text).

So one way to handle the problem with threading is that kill-buffer
doesn't do 2 and 4 any more, instead 4 is delayed to the moment when the
buffer is not current anywhere any more (could be detected by the GC,
for example).


        Stefan



reply via email to

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