Subject: bug#58070: [PATCH] Add tamil99 input method

From: Arun Isaac <[email-masked]>
Date: Wed, 28 Sep 2022 01:49:17 +0530

> So in the quail-map, you have rules like "h" = க, "d" = உ, "hd" = கு
> which works great until you run into a situation like Eric described
> in emacs-devel here:
> https://yhetil.org/emacs-devel/[email-masked]/T/#m5b261c1a7bb06c7c074fdcdb746fb53ab7af1aa1

The problem Eric raises for the Tex IM is much less pronounced for
tamil99. Unlike long key sequences such as [\alpha] in the Tex IM, key
sequences in tamil99 are never more than 2 keys long.

That said, I think there is also a problem with the way out of sequence
vowel insertion is achieved in your implementation. Let me illustrate
with an example. If I entered the key sequence [has], I would get [கஇ],
but if I followed it up with a [<backspace> s], I would get [கி]. In
other words, the key sequences [has] and [has <backspace> s] don't
produce the same result. Likewise, [had] and [has <backspace> d] do not
produce the same result. And, so on. This inconsistency can trip up the
user.

There are many possible key sequences that can compose the same
character, and it is not possible to reliably infer how a character was
composed by only looking at the contents of the buffer. That information
is simply not in the buffer. The ambiguity in this situation is
unresolvable, and it is not possible to fix this in any way.