[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#7865: Bug in display-buffer-reuse-frames [was Re: bug#7865: 24.0.50;
bug#7865: Bug in display-buffer-reuse-frames [was Re: bug#7865: 24.0.50; doc of display-buffer-reuse-frames]
Sun, 13 Feb 2011 15:05:36 +0100
Thunderbird 22.214.171.124 (Windows/20090302)
> I think this is actually a bug. Doing `C-x b' with non-nil
> display-buffer-reuse-frames should make Emacs raise another frame if
> it;s already displaying the desired buffer---regardless of the value of
If `display-buffer-reuse-frames' is non-nil, Emacs currently uses an
arbitrary window on _any_ frame provided the window shows the buffer,
regardless of the value of `pop-up-frames'. It has been this way ever
since `display-buffer-reuse-frames' was introduced.
> Currently, if display-buffer-reuse-frames and pop-up-frames are both t,
> `C-x b' instead displays the buffer in the existing frame. So
> `pop-up-frames' has changed the behavior, even though it's not doing any
> "popping up" in this case.
I suppose you mean "if `display-buffer-reuse-frames' is nil and
`pop-up-frames' is t" in the first sentence above. In that case I'd
agree. But I think Stefan wants it the current way because he doesn't
care much about `display-buffer-reuse-frames' and he's using these
options for popping up dedicated frames to show some buffer in such a
frame and nowhere else. In his particular use case the present behavior
makes perfect sense because it DTRT even if he asks for displaying the
buffer when its frame _is_ currently selected.
To make `display-buffer-reuse-frames' work as you describe we'd have to
make the `get-buffer-window' routines understand as ALL-FRAMES argument
a value of say 'other, meaning to "not return a window on the selected
frame". Or, we can sort out these windows manually - you might want to
have a look at the routine `display-buffer-reuse-window' in my branch to
see how it's done there.