Subject: bug#65116: 29.1; query-replace-read-args fails reading second arg in detached minibuf

From: Alan Mackenzie <[email-masked]>
Date: Sun, 14 Jan 2024 14:14:37 +0000

Hello, Po.

On Sun, Jan 14, 2024 at 08:27:16 +0800, Po Lu wrote:
> Eli Zaretskii <[email-masked]> writes:

> >> Date: Fri, 12 Jan 2024 21:44:11 +0000
> >> Cc: [email-masked], Eli Zaretskii <[email-masked]>, [email-masked]
> >> From: Alan Mackenzie <[email-masked]>

> >> Hello, Jim.

> >> On Fri, Jan 12, 2024 at 12:57:42 -0600, Jim Rees wrote:
> >> > Well that's a relief. I do have an unusual setup with detached minibuf and
> >> > focus follows mouse. There has been a lot of churn in replace.el and frame.c
> >> > lately and I keep hoping the bug will go away on its own. I don't really
> >> > understand all the focus changes in the code but I do see why they are
> >> > necessary.

> >> > I have a workaround, I have bound this to a key and use it to re-focus to
> >> > the minibuf so I can enter the 'to' text:

> >> > (select-frame-set-input-focus (window-frame (minibuffer-window)))

> >> > But that requires manual intervention so for now I'm sticking with 28.1.

> >> I've been playing with the setup for an hour or two.  It seems that
> >> performing some action in the minibuffer (say, M-x auto-revert-mode, but
> >> anything will do) causes M-% to work properly.  But then, the moment the
> >> mouse leaves the active frame or window (I'm not sure which), M-% no
> >> longer works properly, until the next minibuffer action.

> >> I know this isn't much help to you, but it should be a help to us,
> >> tracking down what's going wrong.

> > If this is WM-specific, maybe Po Lu (CC'ed) could help us understand
> > what happens here?  Perhaps some message we expect from X is not being
> > received in this scenario?

> This is GTK3-specific.  I've installed a fix on master, please test.

Thanks for this.  Thanks also for the detailed comment explaining the
fix.  I now understand where and why the redirected focus carefully
installed on the main frame was being removed.

I've tested it, with Jim's test case, and it works for me.

-- 
Alan Mackenzie (Nuremberg, Germany).