unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: "Андрей Парамонов" <cmr.pent@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Bug in display-buffer
Date: Sat, 13 Nov 2010 02:02:54 +0300	[thread overview]
Message-ID: <AANLkTik-U8yEDfhgkEpEQgprBOkGjHHAL-S+ABNS+Mwi@mail.gmail.com> (raw)

Hello Emacs hackers!

I've found a bug but do not know how to workaround/fix it.

Bug happens when I do the following:

1) Display a single window in a single frame,
2) Activate completions,
3) Call display-buffer with not-in-this-window=t

C-h v pop-up-frames RET says:

pop-up-frames's value is nil

Documentation:
Whether `display-buffer' should make a separate frame.
If nil, never make a separate frame.

display-buffer is called this way:

display-buffer: buffer-or-name=#<buffer *Python*> not-this-window=t frame=nil

I expect the new buffer to appear in place of completion window,
however a new frame pops up. This happens in spite of pop-up-frames
being off.

I've done quick investigation and it shows that the problem lies in
the code following the comment inside display-buffer:

;; When NOT-THIS-WINDOW is non-nil, temporarily dedicate
;; the selected window to its buffer, to avoid that some of
;; the `get-' routines below choose it.  (Bug#1415)

As the completions window is dedicated and selected window becomes
dedicated too, we cannot choose window-to-undedicate and end up
calling

(frame-selected-window (funcall pop-up-frame-function))

In principle, in this very awkward situation display-buffer has 3 options:

1) To display buffer in selected window -- but not-in-this-window=t.
2) To display buffer in a new frame -- but pop-up-frames says we
*never* make a separate frame.
3) To display buffer in place of completions window -- but that window
is "dedicated".

To me option 3 seems the least unexpected. Is it a way to achieve such
behavior, by customizing or by changing display-buffer?

Best wishes,
Andrey Paramonov



             reply	other threads:[~2010-11-12 23:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-12 23:02 Андрей Парамонов [this message]
2010-11-13  0:50 ` Bug in display-buffer Drew Adams
2010-11-13 13:47   ` .emacs and other config file questions Tommy Kelly
2010-11-15 15:04     ` Deniz Dogan
2010-11-16  8:16       ` Tassilo Horn
     [not found]   ` <mailman.0.1289683517.943.help-gnu-emacs@gnu.org>
2010-11-15  4:25     ` Tim X
2010-11-17  2:13     ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTik-U8yEDfhgkEpEQgprBOkGjHHAL-S+ABNS+Mwi@mail.gmail.com \
    --to=cmr.pent@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).