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
next prev parent 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).