bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#28978: 26.0; Regression: separate, dedicated `*Completions*' frame n


From: Drew Adams
Subject: bug#28978: 26.0; Regression: separate, dedicated `*Completions*' frame no longer has parameter `minibuffer'
Date: Mon, 30 Oct 2017 07:32:59 -0700 (PDT)

>  > I was checking the `minibuffer' parameter of THIS-FRAME,
>  > to see if it was the `active-minibuffer-window'.  But it
>  > should be just as good to check that the frame of the
>  > `active-minibuffer-window' is THIS-FRAME.
>  >
>  > I don't think the code you showed earlier corresponds to
>  > the same thing.  IIUC, the test you suggested earlier
>  > checks whether the window that was selected immediately
>  > before the current minibuffer window was selected is the
>  > same as the selected window of THIS-FRAME.  That's not
>  > the same thing as what I need to test, AFAICT.  But your
>  > latest suggestion seems to check what I've been checking,
>  > and it should work OK in all Emacs versions.
> 
> If you told me with plain words what you really wanted to check then I
> might come up with another suggestion.  But "checking the `minibuffer'
> parameter of THIS-FRAME, to see if it was the
> `active-minibuffer-window'" could not have possibly done anything
> reasonable even before my changes.  That test simply failed/succeeded
> accidentally with Emacs 25 and just produces the opposite result with
> Emacs 26.

It not only could possibly have done something reasonable
before your changes, it did something reasonable, useful,
and necessary before your changes.  And as I said: in ALL
Emacs releases.

I think the alternative code you proposed will likely work
as well (thank you), but there is no reason to claim that
the previous code did not work or did nothing reasonable.

Before your change, a separate *Completions* frame didn't
have a minibuffer-window value for its frame parameter
`minibuffer' - it used another frame's minibuffer.  Before
your change checking that parameter was a reasonable way
to check whether the frame had an active minibuffer window.

>  > Return the window that was selected immediately
>  > before the current minibuffer window was selected.
> 
> Looks good but I need a first line that fits into 67 characters.  Pretty
> please suggest a suitable first line and whatever you consider important
> for the rest.  Also, since we nowhere specify "the current minibuffer
> window" wouldn't "the currently active minibuffer window" be better?

 Return window selected just before minibuffer window was selected.

or even

 Return window selected just before minibuffer window.

Or if this is about an _active_ minibuffer then perhaps:

 Return window selected just before window of active minibuffer.

I don't think "currently active minibuffer window" is
the same thing as currently selected minibuffer window.

For one thing, a window is not "active".  (Nor is it
"current", you will say, and that's right.)  You probably
meant "window of the active minibuffer".

For another thing, if a minibuffer window is selected
does that necessarily mean that the minibuffer is active?
I don't think so, but I'm not an expert in this stuff.

Thanks for fixing this.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]