all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Drew Adams <drew.adams@oracle.com>, 28978-done@debbugs.gnu.org
Subject: bug#28978: 26.0; Regression: separate, dedicated `*Completions*' frame no longer has parameter `minibuffer'
Date: Sun, 29 Oct 2017 12:18:09 +0100	[thread overview]
Message-ID: <59F5B8F1.1050909@gmx.at> (raw)
In-Reply-To: <4851dc90-59c3-49a9-b03c-add382e9b8bf@default>

 > The actual behavior has changed.  I hope we can agree
 > on that wording.

We can.

 >> I would try (eq (minibuffer-selected-window)
 >>                  (frame-selected-window this-frame))
 >
 > I will try that.  At first sight it solves the problem.
 > As there are many different use cases I'll need to see
 > whether it works in all cases and doesn't break anything.

You never said what you really wanted to achieve.  I guess that you want
to delete a frame around the time you do some minibuffer interaction and
base the decision of which frame to delete on whether it is the frame
initiating that interaction.  If so, then any code based on the value of
the 'minibuffer' parameter would have been already wrong before my
change as well - an arbitrary number of frames could have had the
'minibuffer' parameter set to nil and there would have been no way to
tell from that parameter which of them initiated the interaction.

 > BTW, I find the doc string for `minibuffer-selected-window'
 > a bit confusing:
 >
 >   Return the window which was selected when entering the minibuffer.
 >                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
 >   Returns nil, if selected window is not a minibuffer window.
 >
 > The phrase "window which was selected when entering" is
 > somewhat ambiguous.  It can easily be understood as the
 > window that was selected before the minibuffer was entered,
 > rather than the (minibuffer) window that is selected after
 > the minibuffer was entered.

Exactly that's the meaning.  I'm afraid you're confusing things here.
The window returned by that function was the selected window until the
minibuffer interaction started.  When the minibuffer action terminates,
that function will return nil again.  The active minibuffer window is
obviously returned by ‘active-minibuffer-window’.

 > I think it would be clearer to identify the "when" clearly
 > as after entering, not before - when "entering' is unclear,
 > especially when used with "was" selected.
 >
 > (Also, it should probably say "Return nil..." instead of
 > "Returns nil...".)

Fixed, hopefully.  I also rewrote the related documentation (to some
extent).

 > BTW, I don't see anything yet in NEWS about this change.
 > I consider this an incompatible change (you might not).
 > In any case, it should be called out, I think.  I see
 > a section called "New frame parameters and changed
 > semantics for older ones".  That might be a good place
 > to mention this.

Done.

martin






  reply	other threads:[~2017-10-29 11:18 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-24 20:20 bug#28978: 26.0; Regression: separate, dedicated `*Completions*' frame no longer has parameter `minibuffer' Drew Adams
2017-10-25  7:45 ` martin rudalics
2017-10-25 14:47   ` Drew Adams
2017-10-26  7:57     ` martin rudalics
2017-10-26 14:01       ` Drew Adams
2017-10-27  8:25         ` martin rudalics
2017-10-27 14:19           ` Drew Adams
2017-10-28  8:45             ` martin rudalics
2017-10-28 19:15               ` Drew Adams
2017-10-29 11:18                 ` martin rudalics [this message]
2017-10-29 15:59                   ` Drew Adams
2017-10-29 18:13                     ` martin rudalics
2017-10-29 23:56                       ` Drew Adams
2017-10-30  8:24                         ` martin rudalics
2017-10-30 14:32                           ` Drew Adams
2017-10-30 19:00                             ` martin rudalics
2017-10-30 19:16                               ` 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

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

  git send-email \
    --in-reply-to=59F5B8F1.1050909@gmx.at \
    --to=rudalics@gmx.at \
    --cc=28978-done@debbugs.gnu.org \
    --cc=drew.adams@oracle.com \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.