unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* `selected-frame` behavior have changed in emacs-28
@ 2021-04-25 12:33 Thierry Volpiatto
  2021-04-25 15:54 ` Stefan Monnier
  0 siblings, 1 reply; 3+ messages in thread
From: Thierry Volpiatto @ 2021-04-25 12:33 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 609 bytes --]


Hello,

Up to emacs-27.2 I was using this code:

    (with-current-buffer helm-buffer
      (let ((frame (selected-frame)))
        [...]))

selected-frame was returning the frame where helm-buffer was displayed.
In emacs-28, it have the same behavior when helm starts from a normal
buffer, but if I call helm from a minibuffer e.g. from M-:
selected-frame is returning the wrong frame whereas in emacs-27, the
frame handling helm-buffer is returned.
I expect here having the same behavior in emacs-27 and emacs-28.

Does something have changed in selected-frame?

Thanks.

-- 
Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 686 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: `selected-frame` behavior have changed in emacs-28
  2021-04-25 12:33 `selected-frame` behavior have changed in emacs-28 Thierry Volpiatto
@ 2021-04-25 15:54 ` Stefan Monnier
  2021-04-25 18:28   ` Thierry Volpiatto
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2021-04-25 15:54 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: emacs-devel

Hi Thierry,

Thierry Volpiatto [2021-04-25 12:33:48] wrote:
> Up to emacs-27.2 I was using this code:
>
>     (with-current-buffer helm-buffer
>       (let ((frame (selected-frame)))
>         [...]))
>
> selected-frame was returning the frame where helm-buffer was displayed.

Note that `with-current-buffer` never affects the selected frame (nor
the selected window), so the fact that `selected-frame` returned the
one that displayed `helm-buffer` had nothing to do with your
"(with-current-buffer helm-buffer".

> In emacs-28, it have the same behavior when helm starts from a normal
> buffer, but if I call helm from a minibuffer e.g. from M-:
> selected-frame is returning the wrong frame whereas in emacs-27, the
> frame handling helm-buffer is returned.
> I expect here having the same behavior in emacs-27 and emacs-28.
> Does something have changed in selected-frame?

My crystal ball tells me this change is linked to Alan's changes to the
handling of minibuffers.  I suggest you `M-x report-emacs-bug` about it
(and skip the "(with-current-buffer helm-buffer" part which just muddies
the water).


        Stefan




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: `selected-frame` behavior have changed in emacs-28
  2021-04-25 15:54 ` Stefan Monnier
@ 2021-04-25 18:28   ` Thierry Volpiatto
  0 siblings, 0 replies; 3+ messages in thread
From: Thierry Volpiatto @ 2021-04-25 18:28 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1564 bytes --]


Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Hi Thierry,
>
> Thierry Volpiatto [2021-04-25 12:33:48] wrote:
>> Up to emacs-27.2 I was using this code:
>>
>>     (with-current-buffer helm-buffer
>>       (let ((frame (selected-frame)))
>>         [...]))
>>
>> selected-frame was returning the frame where helm-buffer was displayed.
>
> Note that `with-current-buffer` never affects the selected frame (nor
> the selected window), so the fact that `selected-frame` returned the
> one that displayed `helm-buffer` had nothing to do with your
> "(with-current-buffer helm-buffer".

Thanks it is what i understood but I was unsure.

>> In emacs-28, it have the same behavior when helm starts from a normal
>> buffer, but if I call helm from a minibuffer e.g. from M-:
>> selected-frame is returning the wrong frame whereas in emacs-27, the
>> frame handling helm-buffer is returned.
>> I expect here having the same behavior in emacs-27 and emacs-28.
>> Does something have changed in selected-frame?
>
> My crystal ball tells me this change is linked to Alan's changes to the
> handling of minibuffers.

I had the same idea, but I have the impression that the changes to
exit-minibuffer try to fix this behavior change, if it is the case
perhaps it would be better to fix this at root?

> I suggest you `M-x report-emacs-bug` about it

Ok will do.

> (and skip the "(with-current-buffer helm-buffer" part which just
> muddies the water).

Yes I am trying to find a suitable fix actually.

Thanks.

-- 
Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 686 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-04-25 18:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-25 12:33 `selected-frame` behavior have changed in emacs-28 Thierry Volpiatto
2021-04-25 15:54 ` Stefan Monnier
2021-04-25 18:28   ` Thierry Volpiatto

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