Subject: Re: bug#62709: 29.0.60; quail-minibuffer-message prevents set-mark-command from activating region in minibuffer

From: Eli Zaretskii <[email-masked]>
Date: Fri, 07 Apr 2023 14:14:33 +0300

> From: Visuwesh <[email-masked]>
> Date: Fri, 07 Apr 2023 16:24:55 +0530
> 
> - To observe the problem, first define a dummy Quail input method
> 
>     (quail-define-package "none" "asdf" "none")
> 
> - Then activate recursive minibuffers
> 
>     M-: (setq enable-recursive-minibuffers t) RET
> 
> - Now open a minibuffer (C-x C-f is a good one) then activate the "none"
>   input method.
> 
> - Now type M-x set-mark-command RET and note how the region is not
>   active.
> 
> This problem goes away if you redefine `quail-minibuffer-message' to
> simply echo the string by saying
> 
>     (defalias 'quail-minibuffer-message #'message)
> 
> Furthermore, the comment above `quail-minibuffer-message' says
> 
>     ;; Quail specific version of minibuffer-message.  It displays STRING
>     ;; with timeout 1000000 seconds instead of two seconds.
> 
> but even with that redefinition, the guidance string is printed just
> fine (minus the extra square brackets that message adds).

I'd prefer to solve the problem that prevents the region from becoming
active, without changing how Quail shows its messages.  Can you try
finding such a solution, or at least explaining why
quail-minibuffer-message prevents the region from becoming active in
this case?

Thanks.