|
From: | Gregory Heytings |
Subject: | bug#47894: 28.0.50; isearch does not work if enable-recursive-minibuffers is on and some input method is set. |
Date: | Wed, 21 Apr 2021 07:49:28 +0000 |
Okay, thanks for the clarification. IIUC the right way to determine what the "current buffer" is (from a user's point of view: in which buffer will "a" be added if I press "a") is what I do: (window-buffer (selected-window)) and not what I did: (current-buffer)?For users (eq (current-buffer) (window-buffer)) _should_ be invariant. When and if an application temporarily violates that invariant, it should reestablish it before the user can see it. So if an application calls `display-buffer' in a state where the invariant does not hold, it should handle that case including the complication that `display-buffer' might have selected another window. And it goes without saying that a display buffer action should never violate that invariant.
I see. So in this case the bug was elsewhere as I thought, it's display-buffer-select which was wrong (as you said it should have used pop-to-buffer) and not the code I added in isearch-post-command-hook. Anyway using (window-buffer (selected-window)) should not harm, and is an extra safety against display buffer actions doing something weird.
[Prev in Thread] | Current Thread | [Next in Thread] |