Subject: Re: bug#8865: 24.0.50; `display-buffer' does not respect `pop-up-frames'

From: martin rudalics <[email-masked]>
Date: Tue, 14 Jun 2011 21:08:43 +0200

> I have non-nil `pop-up-frames'.  I use the following function via `M-x
 > find-library-other-window frame.el'.  It should find the library in a
 > separate frame.  Instead, it finds it in another window of the current
 > frame - i.e., it splits the current window and puts it in one of those
 > two windows.

Emacs has a lot of commands postfixed with -other-window and
-other-frame.  For example, `find-file-other-window' or
`switch-to-buffer-other-window' traditionally find a file or switch to a
buffer in another window on the same frame.  By this convention,
`find-library-other-window' is not supposed to pop up a new frame.

If we want to maintain compatibility with the old behavior in this and
similar cases we'd have to segregate a set of reserved values for the
second argument of `display-buffer'.  Preserving the classic "non-nil"
behavior is impossible if we want to use the new `display-buffer' code
(originally I favored let-binding to achieve that behavior but using an
argument was proposed by Stefan Monnier and overloading the second
argument by Juri Linkov - at the time that was discussed there were no
objections).

I have no objections interpreting the argument value `t' in the sense
that when `pop-up-frames' is non-nil and not unset, `display-buffer'
tries to pop up a new frame before it tries to pop up a new window.

martin