Subject: Re: bug#56305: 29.0.50; 'yes-or-no-p' deselects minibuffer frame

From: Stefan Monnier <[email-masked]>
Date: Thu, 07 Jul 2022 14:57:02 -0400

> diff --git a/src/minibuf.c b/src/minibuf.c
> index 0fc7f2caa1..71fd62cede 100644
> --- a/src/minibuf.c
> +++ b/src/minibuf.c
> @@ -896,6 +896,12 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt,
>    /* Don't allow the user to undo past this point.  */
>    bset_undo_list (current_buffer, Qnil);
>  
> +  /* If some Emacs frame currently has the window-system focus, give
> +     it to the minibuffer frame.  This is sometimes needed for
> +     minibuffer-only frames.  */
> +  if (FRAME_DISPLAY_INFO (XFRAME (mini_frame))->x_focus_frame)
> +    Fx_focus_frame (mini_frame, Qt);
> +
>    recursive_edit_1 ();

To avoid problems when we play with actual focus, what happens if we
play with the focus-redirection here instead?

        Stefan