[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: `selected-frame` behavior have changed in emacs-28
From: |
Stefan Monnier |
Subject: |
Re: `selected-frame` behavior have changed in emacs-28 |
Date: |
Sun, 25 Apr 2021 11:54:03 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
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