unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: "Drew Adams" <drew.adams@oracle.com>
Cc: emacs-pretest-bug@gnu.org
Subject: Re: display-buffer-other-frame - useful? doc string?
Date: Sun, 06 Apr 2008 20:51:51 -0400	[thread overview]
Message-ID: <jwviqyuqym7.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <000001c897bb$26e5ebe0$0200a8c0@us.oracle.com> (Drew Adams's message of "Sun, 6 Apr 2008 00:52:24 -0700")

>> The problem is that display-buffer doesn't work as it should.
>> So we should fix display-buffer.  Can you try the following:
>> 
>> (lexical-let ((f pop-up-frame-function))
>> (setq pop-up-frame-function
>> (lambda ()
>> (let ((win (selected-window)))
>> (unwind-protect
>> (funcall f)
>> (when (window-live-p win)
>> (select-window win)
>> (select-frame-set-input-focus (window-frame win))))))))
>> 
>> If this works, can you try to inline select-frame-set-input-focus and
>> remove each part one by one until you figure out which part 
>> is necessary and which part isn't.

> Sorry, I don't understand what you would like me to do. Looking at
> that code, it seems clear enough, but I don't understand what problem
> it is trying to solve or what you would like me to try. In what way
> does display-buffer not work correctly? What problems with dynamic
> binding do you see or foresee?

If you look at it and try to understand it (knowing that display-buffer
supposedly calls pop-up-frame-function to create a new frame), you'll
see that it is trying to run the exact code you say works for your
display-buffer-other-frame.

I.e. evaluating the above code via M-: (or in your .emacs) should
hopefully make display-buffer work correctly such that the trunk's
display-buffer-other-frame works just as well as the one you've
been using.

>> The difficulty is that select-frame-set-input-focus doesn't 
>> do the right thing in my situation: it raises the current frame
>> whereas it shouldn't be doing that.

> If `select-frame-set-input-focus' doesn't work in your situation, then perhaps
> that's the place to debug?

It is documented as doing a "raise", but in the display-buffer case we
don't want to do a raise (at least not for window managers where the
window with focus should not need to be raised).  So using
select-frame-set-input-focus can't be right (unless we not only change
its code but also its spec).


        Stefan






  reply	other threads:[~2008-04-07  0:51 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-09 18:00 display-buffer-other-frame - useful? doc string? Drew Adams
2008-03-09 21:48 ` Stefan Monnier
2008-03-09 22:06   ` Drew Adams
2008-03-10 17:16     ` Richard Stallman
2008-03-10 17:19       ` Drew Adams
2008-03-10 17:59       ` Stefan Monnier
2008-03-11 20:24         ` Richard Stallman
2008-03-10 17:15   ` Richard Stallman
2008-03-10 17:34   ` Andreas Schwab
2008-03-10 18:01     ` Stefan Monnier
2008-03-10 18:43       ` Andreas Schwab
2008-03-10  6:11 ` Richard Stallman
2008-03-10  6:22   ` Drew Adams
2008-04-06  0:13 ` Drew Adams
2008-04-06  2:28   ` Stefan Monnier
2008-04-06  7:52     ` Drew Adams
2008-04-07  0:51       ` Stefan Monnier [this message]
2008-04-07  1:18         ` Drew Adams
2008-04-07 16:01           ` Stefan Monnier
2008-04-07 16:14             ` Drew Adams
2008-04-07 16:44               ` Lennart Borgman (gmail)
2008-04-07 16:52                 ` Drew Adams
2008-04-07 17:02                   ` Lennart Borgman (gmail)
2008-04-07 17:06                     ` Drew Adams

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=jwviqyuqym7.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=drew.adams@oracle.com \
    --cc=emacs-pretest-bug@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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).