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

From: Eli Zaretskii <[email-masked]>
Date: Tue, 12 Jul 2022 19:02:46 +0300

> Date: Tue, 12 Jul 2022 09:33:00 +0200
> Cc: [email-masked], [email-masked], [email-masked]
> From: martin rudalics <[email-masked]>
> 
>  > Can you tell how inhibit-redisplay is related to the original recipe
>  > in this bug?  Specifically, at what point is inhibit-redisplay set in
>  > that recipe and by which code?
> 
> It's all explained here in gui_consider_frame_title:
> 
>        /* select-frame calls resize_mini_window, which could resize the
> 	 mini-window and by that undo the effect of this redisplay
> 	 cycle wrt minibuffer and echo-area display.  Binding
> 	 inhibit-redisplay to t makes the call to resize_mini_window a
> 	 no-op, thus avoiding the adverse side effects.  */
> 
>        /* The following was moved before the record_unwind_protect form
> 	 below to inhibit redisplay also when restoring the selected
> 	 window/frame: This avoids that resize_mini_window sizes back
> 	 the minibuffer window of a temporarily selected frame.  See
> 	 Bug#34317.  */
>        specbind (Qinhibit_redisplay, Qt);

OK, but then we should have a comment pointing to this in the change
you proposed for emacs-28, and I agree to fix the problem as you
suggested with that comment added.

Thanks.