Subject: Re: bug#79026: 30.1; TAB in Minibuffer when using a quail input-method should complete the longest common suffix of candidates

From: Visuwesh <[email-masked]>
Date: Thu, 17 Jul 2025 13:16:54 +0530

[வியாழன் ஜூலை 17, 2025] Eli Zaretskii wrote:

>> Looking at quail-completion, it only seems to list the possible
>> translations and their keys.  There is quail-choose-completion but it
>> seems to be broken (it inserts the same translation twice when trying it
>> with tamil-phonetic), and does not work at all for TeX (maybe because of
>> non-nil TRANSLATION-KEYS (why BTW?)).
>
> TRANSLATION-KEYS non-nil is what makes TAB invoke quail-completion in
> the first place, right?

You're right.  I didn't notice that the TeX IM had SIMPLE non-nil.

>> If it works, then you can click on the translation shown in *Quail
>> Completions* to insert it.
>
> I think part of the request here is to make it work.  But there's also
> another part: if there's only one completion, TAB should complete it
> and exit the Quail loop.

I think the problem here is that mouse-2 is not bound to
quail-mouse-choose-completion in the translation keymap of TeX IM.
This, of course, does not rule out the other bug I talked about.

> IOW, the request here is to make quail-completion work as minibuffer
> completion works elsewhere.  If you can come up with a patch to do
> that (probably optionally, given how quail-completion's original
> behavior was very different), that'd be appreciated.

If there is only one translation for the current key, it should just
insert it?  I.e., typing TAB after \alph should insert α.

If there is more than one, it should complete to the longest possible
common key i.e., typing TAB after \app should complete to \approx and
the Quail loop would be active.  Another TAB from here on would pop up
the *Quail Completions* buffer?

Did I get it right?  I wonder if we can reuse the completion facility
for this.