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

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

bug#12648: 24.2.50; display-buffer switches to another frame


From: martin rudalics
Subject: bug#12648: 24.2.50; display-buffer switches to another frame
Date: Sun, 14 Oct 2012 20:33:52 +0200

>  emacs -Q
>  C-x b foo
>  C-x 5 b bar
>
> Now you have 2 frames, one displays the buffer "foo", the other
> displays the buffer "bar" and is the selected frame.
>
>  M-: (display-buffer "foo" nil 'visible) RET
>
> This quite unexpectedly selects the frame which displays "foo".  But
> display-buffer is not supposed to select the window where it displays
> the buffer.

Unless it appears on another frame.  If with emacs -Q you do

(let ((pop-up-frames t))
  (display-buffer (get-buffer-create "baz")))

that buffer is shown on a new frame and its window is selected.

> And indeed, if the same experiment is repeated when the
> same frame displays "foo" and "bar" in 2 different windows, the window
> that shows "bar" being the selected one, display-buffer does not
> select the other window, as expected.
>
> This is an annoyance when you use GUD with the GDB interaction buffer
> on one frame and the source on another.  Each command that moves
> through the program, such as 'n', 's', etc., switches to the source
> frame, which is inconvenient.  See
>
>   http://lists.gnu.org/archive/html/help-gnu-emacs/2012-10/msg00188.html
>
> for the original complaint.

Maybe we should provide an alist entry like select-frame for this.  If
the buffer already appears in another frame, we would select the frame
only if the entry is set.  If a new frame is created, we could try to
not select it if the entry is not set and the window manager supports
creating a frame and not selecting it.

martin





reply via email to

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