From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#58070: [PATCH] Add tamil99 input method Date: Tue, 27 Sep 2022 11:03:52 +0300 Message-ID: <83edvxjlav.fsf@gnu.org> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> <83sfkdjpyf.fsf@gnu.org> <87leq5dzkt.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12389"; mail-complaints-to="usenet@ciao.gmane.io" Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org To: Visuwesh Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Sep 27 10:17:51 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1od5mp-00033C-4W for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 27 Sep 2022 10:17:51 +0200 Original-Received: from localhost ([::1]:40452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1od5mo-0003Nk-33 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 27 Sep 2022 04:17:50 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53988) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1od5aQ-0007ve-2H for bug-gnu-emacs@gnu.org; Tue, 27 Sep 2022 04:05:13 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53331) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1od5aP-0006n2-Q9 for bug-gnu-emacs@gnu.org; Tue, 27 Sep 2022 04:05:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1od5aP-0001d4-LI for bug-gnu-emacs@gnu.org; Tue, 27 Sep 2022 04:05:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 27 Sep 2022 08:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58070 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 58070-submit@debbugs.gnu.org id=B58070.16642658526182 (code B ref 58070); Tue, 27 Sep 2022 08:05:01 +0000 Original-Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 08:04:12 +0000 Original-Received: from localhost ([127.0.0.1]:52406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od5Zb-0001be-RT for submit@debbugs.gnu.org; Tue, 27 Sep 2022 04:04:12 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:54230) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od5ZX-0001bE-FR for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 04:04:10 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:38414) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1od5ZQ-0006ip-PD; Tue, 27 Sep 2022 04:04:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=JgtR/WCvfGgKkmzw5XVisc1x4gMfsE83hGmIR0+dRRY=; b=IR6BRK5zCOKp0SONZeeQ gwUAdijjrrh4zo8glu3K5L5VTeOfvzTrmx9VU/8xM2wFH0TpIeXYXk2zJr7MlQZfpLMSgeaL7W5wH +kCUyzP1Vd6oVFM47ujtLPf6iFxsFGfaOBurYpuYppr+OJNkM8InFi0gnU3Dm7m6ppmKsRJ673D4B IyEYEOhGytqDxmEymJgL6qDKrwLV6g55o01Nrw+kPoyYGVSMQoe8wGC4DXDquOB5jicepg3yIHuZJ VGsw1nSVyfKwtEkkTg2cgtV/t+GEvuLy5XiwchUoKNrgYvvYN44p9MU9vd+JNTNS26hr0lC2RVl4/ Xpzy25tWW+/rNA==; Original-Received: from [87.69.77.57] (port=3457 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1od5ZQ-0005x9-6D; Tue, 27 Sep 2022 04:04:00 -0400 In-Reply-To: <87leq5dzkt.fsf@gmail.com> (message from Visuwesh on Tue, 27 Sep 2022 13:22:02 +0530) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:243699 Archived-At: > From: Visuwesh > Cc: Arun Isaac , 58070@debbugs.gnu.org > Date: Tue, 27 Sep 2022 13:22:02 +0530 > > Arun's implementation precalculates the key sequences that produce > vowel-consonant pairs and adds them as separate Quail rules, kind of > what happens in the itrans IMs. 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/87a66ori6g.fsf@gmail.com/T/#m5b261c1a7bb06c7c074fdcdb746fb53ab7af1aa1 > > I'm sure that situation is familiar to many who use Quail IMs regularly, > which is why I decided to make my IM consider the character before point > to decide what codepoint Quail should insert in the buffer. In my > implementation, the quail-map only has "h" = க, "d" = உ. I use the > UPDATE-TRANSLATION-FUNCTION to see what the character before point is > and change what Quail should insert: if the user types 'd' and the > character before point is a 'க', then I make Quail insert ு (instead of > உ) to get கு. This lets you insert vowel-consonant pairs out-of-order > which is akin to what Eric wants. But the price is that, after typing "h", your implementation doesn't show in the echo-area that one of the possible next candidates is "d", whereas Arun's implementation does, is that right? > > Emacs 29 also has the composition-break-at-point variable, which you > > could set non-nil, in which case will also work by > > codepoints. So perhaps the out-of-sequence vowel insertion would be > > possible without further complications if composition-break-at-point > > is non-nil? > > Unfortunately, composition-break-at-point is not enough here since the > layout does not have keys to insert the *vowel signs* (the grave accent > in Arun's example), only *vowels*. One could add those missing keys, no? Anyway, composition-break-at-point doesn't have to be useful with each IM, that's not necessarily its main purpose.