GNU bug report logs - #62709
29.0.60; quail-minibuffer-message prevents set-mark-command from activating region in minibuffer

Previous Next

Package: emacs;

Reported by: Visuwesh <visuweshm <at> gmail.com>

Date: Fri, 7 Apr 2023 10:56:01 UTC

Severity: normal

Found in version 29.0.60

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Visuwesh <visuweshm <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 62709 <at> debbugs.gnu.org
Subject: bug#62709: 29.0.60; quail-minibuffer-message prevents set-mark-command from activating region in minibuffer
Date: Fri, 07 Apr 2023 17:21:26 +0530
[வெள்ளி ஏப்ரல் 07, 2023] Eli Zaretskii wrote:

>> - 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, 

One solution would be to use an overlay to show the guidance string,
like what `minibuffer-depth-mode' does.

> or at least explaining why quail-minibuffer-message prevents the
> region from becoming active in this case?

Unfortunately, that is well beyond my abilities.  If I simply comment
out the part where Quail `insert's the guidance string, I see no issue
but if I leave it and check the return value of `use-region-p' and value
of `mark-active' before and after the `insert' call, I see nil before
and after the insert call...

I investigated insert and delete-region because they deactivate an
active region in a "normal buffer" when called.

> Thanks.




This bug report was last modified 2 years and 106 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.