[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;
From: |
martin rudalics |
Subject: |
bug#7865: Bug in display-buffer-reuse-frames [was Re: bug#7865: 24.0.50; doc of display-buffer-reuse-frames] |
Date: |
Sun, 13 Feb 2011 15:05:36 +0100 |
User-agent: |
Thunderbird 2.0.0.21 (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
> pop-up-frames.
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.
martin