bug-gnu-emacs
[Top][All Lists]
Advanced

[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





reply via email to

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