From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 06:00:42 2022 Received: (at submit) by debbugs.gnu.org; 25 Sep 2022 10:00:42 +0000 Received: from localhost ([127.0.0.1]:45888 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocORF-0005nA-Px for submit@debbugs.gnu.org; Sun, 25 Sep 2022 06:00:42 -0400 Received: from lists.gnu.org ([209.51.188.17]:35414) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocORA-0005my-VW for submit@debbugs.gnu.org; Sun, 25 Sep 2022 06:00:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52322) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ocOR9-000461-1t for bug-gnu-emacs@gnu.org; Sun, 25 Sep 2022 06:00:36 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:51708) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ocOR5-0001dA-Kr for bug-gnu-emacs@gnu.org; Sun, 25 Sep 2022 06:00:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:MIME-Version: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=2ncZ0mDQ3VoZwTfGrQNTu+w8eIrrailM9daKKCXloKM=; b=R+VPXqULrtExWOyeX7SgeTnZAa Dr3J9tEabxETIIyC0an/hQCuLsQNa8oyFC8Ybfvstaz2ugTmcAQ++QYBvRbhDYPE0EL2nI4mf+n0y OuRRk1iYrVgseZdwD9cNVKH4tstZM4IFdu7P8vLTz7QcGjGicfIwQjwGx7aS16QHJ/clmVuuQkB33 3P13+kpeBEZFq5+w9fcjMX30L+tEiTd8UeQRlG5Kji25bXvQpWHnp65IKa2zyVq9ZklVpGF9C8U3w g1/eXYsVe4+8xf8u3qwapJxghWKnXJN8yp1jn6TjO/ZjLFuwc18y7aEnFnhp7gx+hWVMy9Gq87N3p RGmkg4Cg==; Received: from [192.168.2.1] (port=31268 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ocOQy-000VN9-0Y; Sun, 25 Sep 2022 15:30:24 +0530 From: Arun Isaac To: bug-gnu-emacs@gnu.org Subject: [PATCH 0/1] Add tamil99 input method Date: Sun, 25 Sep 2022 15:30:20 +0530 Message-Id: <20220925100020.13229-1-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=139.59.75.54; envelope-from=arunisaac@systemreboot.net; helo=mugam.systemreboot.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Arun Isaac X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Hi, This patch adds the tamil99 input method to Emacs. This is my first contribution to Emacs, and I believe I need to assign copyright to the FSF. May we get started with copyright assignment? I have assigned copyright for other GNU projects before, but not for Emacs. Thanks! Arun Isaac (1): Add tamil99 input method etc/NEWS | 3 + lisp/leim/quail/tamil99.el | 200 +++++++++++++++++++++++++++++++++++++ 2 files changed, 203 insertions(+) create mode 100644 lisp/leim/quail/tamil99.el -- 2.37.2 From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 06:02:56 2022 Received: (at 58070) by debbugs.gnu.org; 25 Sep 2022 10:02:56 +0000 Received: from localhost ([127.0.0.1]:45898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocOTP-0005r9-Nm for submit@debbugs.gnu.org; Sun, 25 Sep 2022 06:02:56 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:50470) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocOTN-0005qz-Iz for 58070@debbugs.gnu.org; Sun, 25 Sep 2022 06:02:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ru0dGKfYaEGzBRMdV7hYInQRy0gUxsaop/whXdDluJk=; b=CaulPcXop1qL+qfW6ndb7D5W1e MqlILh1E8Pn/Y5f4MxtrwcFuP8YXcn8oqagAKgPgyXcokbREdYpacJgrGa3CC0oNk5yIl/+w1dTrp VVNxQ+oAjSBcnTdSEPbCFdjHIuy4ADb4KiR9baa+KsbfMGxC5Z98fSOeXlQrAFVqXB0SSyuV6ZWVU OVQJX+QXwXJclKUL/FDQnXRMqtpXLOpZw3qTOm8c+sIrIMaSr4KjjSb1llyQslBzApJRIhlXO5m85 HyW1ws2MqM3noqwDjiyOGNM4IcFkpap+ttEQrlMqXAMoSQygzb8qVILQ9VWhZR2iZBuC7r76JN0vw ZHdR87ag==; Received: from [192.168.2.1] (port=31118 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ocOTK-000VOD-2Y; Sun, 25 Sep 2022 15:32:50 +0530 From: Arun Isaac To: 58070@debbugs.gnu.org Subject: [PATCH] Add tamil99 input method Date: Sun, 25 Sep 2022 15:32:44 +0530 Message-Id: <20220925100244.13482-1-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: Arun Isaac X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * lisp/leim/quail/tamil99.el: New file. * etc/NEWS: Mention new tamil99 input method. --- etc/NEWS | 3 + lisp/leim/quail/tamil99.el | 200 +++++++++++++++++++++++++++++++++++++ 2 files changed, 203 insertions(+) create mode 100644 lisp/leim/quail/tamil99.el diff --git a/etc/NEWS b/etc/NEWS index 3d1af8bd6f..bcdc991ea3 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1279,6 +1279,9 @@ The default input method for the Tamil language environment is now change the input method's translation rules, customize the user option 'tamil-translation-rules'. +--- +*** New tamil99 input method for the Tamil language + * Changes in Specialized Modes and Packages in Emacs 29.1 diff --git a/lisp/leim/quail/tamil99.el b/lisp/leim/quail/tamil99.el new file mode 100644 index 0000000000..780ef968ee --- /dev/null +++ b/lisp/leim/quail/tamil99.el @@ -0,0 +1,200 @@ +;;; tamil99.el --- Quail package for the tamil99 input method -*- lexical-binding: t -*- + +;; Copyright (C) 2022 Free Software Foundation, Inc. +;; +;; Author: Arun Isaac +;; Keywords: multilingual, input method, Indian, Tamil + +;; This file is part of GNU Emacs. +;; +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: +;; +;; Tamil99 is a keyboard layout and input method that is specifically +;; designed for the Tamil language. Vowels and vowel modifiers are +;; input with your left hand, and consonants are input with your right +;; hand. See https://en.wikipedia.org/wiki/Tamil_99 +;; +;; தமிழ்99 தமிழுக்கென்றே உருவாக்கப்பட்ட விசைப்பலகை அமைப்பும் உள்ளீட்டு முறையும் +;; ஆகும். உயிர்களை இடக்கையுடனும் மெய்களை வலக்கையுடனும் தட்டச்சிடும்படி +;; அமைக்கப்பட்டது. https://ta.wikipedia.org/wiki/%E0%AE%A4%E0%AE%AE%E0%AE%BF%E0%AE%B4%E0%AF%8D_99 +;; காண்க. +;; +;; Usage: +;; +;; Switch to the tamil99 input method using M-x set-input-method +;; tamil99 RET and enjoy typing in Tamil! +;; +;; பயன்பாடு: +;; +;; tamil99 உள்ளீட்டு முறைக்கு மாற M-x set-input-method tamil99 RET கட்டளையை +;; இயக்கித் தமிழில் தட்டச்சிட்டு மகிழ்க! + +;;; Code: + +(require 'pcase) +(require 'quail) +(require 'seq) + +(quail-define-package + "tamil99" "Tamil" "தமிழ்99" + t "Tamil99 input method" + nil t t t t nil nil nil nil nil t) + +(defconst tamil99-vowels + '(("q" "ஆ") + ("w" "ஈ") + ("e" "ஊ") + ("r" "ஐ") + ("t" "ஏ") + ("a" "அ") + ("s" "இ") + ("d" "உ") + ("g" "எ") + ("z" "ஔ") + ("x" "ஓ") + ("c" "ஒ")) + "Mapping for vowels.") + +(defconst tamil99-vowel-modifiers + '(("q" "ா") + ("w" "ீ") + ("e" "ூ") + ("r" "ை") + ("t" "ே") + ("a" "") + ("s" "ி") + ("d" "ு") + ("g" "ெ") + ("z" "ௌ") + ("x" "ோ") + ("c" "ொ") + ("f" "்")) + "Mapping for vowel modifiers.") + +(defconst tamil99-vallinam-consonants + '(("h" "க") + ("[" "ச") + ("o" "ட") + ("l" "த") + ("j" "ப") + ("u" "ற")) + "Mapping for vallinam consonants.") + +(defconst tamil99-mellinam-consonants + '(("b" "ங") + ("]" "ஞ") + ("p" "ண") + (";" "ந") + ("k" "ம") + ("i" "ன")) + "Mapping for mellinam consonants.") + +(defconst tamil99-idaiinam-consonants + '(("'" "ய") + ("m" "ர") + ("n" "ல") + ("v" "வ") + ("/" "ழ") + ("y" "ள")) + "Mapping for idaiinam consonants.") + +(defconst tamil99-grantham-consonants + '(("Q" "ஸ") + ("W" "ஷ") + ("E" "ஜ") + ("R" "ஹ")) + "Mapping for grantham consonants.") + +(defconst tamil99-consonants + (append tamil99-vallinam-consonants + tamil99-mellinam-consonants + tamil99-idaiinam-consonants + tamil99-grantham-consonants) + "Mapping for all consonants.") + +(defconst tamil99-other + `(("T" ,(vector "க்ஷ")) + ("Y" ,(vector "ஶஂரீ")) + ("O" "[") + ("P" "]") + ("A" "௹") + ("S" "௺") + ("D" "௸") + ("F" "ஃ") + ("K" "\"") + ("L" ":") + (":" ";") + ("\"" "'") + ("Z" "௳") + ("X" "௴") + ("C" "௵") + ("V" "௶") + ("B" "௷") + ("M" "/")) + "Mapping for miscellaneous characters.") + +(defun tamil99-install () + "Install tamil99 input method." + (quail-define-rules) + ;; உயிர் + ;; vowel + (mapc (pcase-lambda (`(,vowel-key ,vowel)) + (quail-defrule vowel-key vowel)) + tamil99-vowels) + (mapc (pcase-lambda (`(,consonant-key ,consonant)) + ;; அகர உயிர்மெய் + ;; consonant with agaram (அ) + (quail-defrule consonant-key consonant) + ;; மெய்யொற்று பின் அகர உயிர்மெய் + ;; pulli on double consonant + (quail-defrule (concat consonant-key consonant-key) + (vector (concat consonant "்" consonant))) + (mapc (pcase-lambda (`(,vowel-key ,vowel-modifier)) + ;; உயிர்மெய் + ;; vowel+consonant + (quail-defrule (concat consonant-key vowel-key) + (vector (concat consonant vowel-modifier))) + ;; மெய்யொற்று பின் உயிர்மெய் + ;; vowel+consonant after double consonant + (quail-defrule (concat consonant-key consonant-key vowel-key) + (vector (concat consonant "்" consonant vowel-modifier)))) + tamil99-vowel-modifiers)) + tamil99-consonants) + (seq-mapn (pcase-lambda (`(,mellinam-consonant-key ,mellinam-consonant) + `(,vallinam-consonant-key ,vallinam-consonant)) + ;; மெல்லினம் பின் வல்லினம் + ;; vallinam after mellinam + (quail-defrule (concat mellinam-consonant-key vallinam-consonant-key) + (vector (concat mellinam-consonant "்" vallinam-consonant))) + (mapc (pcase-lambda (`(,vowel-key ,vowel-modifier)) + ;; மெல்லின ஒற்றொட்டிய வல்லினம் பின் உயிர்மெய் + ;; vowel+consonant after mellinam-vallinam consonant + (quail-defrule (concat mellinam-consonant-key vallinam-consonant-key vowel-key) + (vector (concat mellinam-consonant "்" vallinam-consonant vowel-modifier)))) + tamil99-vowel-modifiers)) + tamil99-mellinam-consonants + tamil99-vallinam-consonants) + ;; பிற வரியுருக்கள் + ;; other characters + (mapc (pcase-lambda (`(,key ,translation)) + (quail-defrule key translation)) + tamil99-other)) + +(tamil99-install) + +(provide 'tamil99) + +;;; tamil99.el ends here -- 2.37.2 From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 06:13:24 2022 Received: (at 58070) by debbugs.gnu.org; 25 Sep 2022 10:13:24 +0000 Received: from localhost ([127.0.0.1]:45916 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocOdY-00067K-Da for submit@debbugs.gnu.org; Sun, 25 Sep 2022 06:13:24 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocOdU-000675-S7 for 58070@debbugs.gnu.org; Sun, 25 Sep 2022 06:13:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36394) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ocOdP-0003NM-MN; Sun, 25 Sep 2022 06:13:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=CjyGj2G86Gh45HaSFpU6A3vHypBtZUxcDsy+Te6xQjk=; b=POmt9iaE56E3 MTTi3k1K1YyG4Hd6uPaK8/cOaxkNdlhGoTyPHVcbUoLtD+BnW4Dy0i+iHFq5Aug1umsw2X1Udf1xP Kl7RoehGpjNtV2siSYcNJr151OH1+tWDfRS8FRw4OZBK5hNQf6m9wZdjRsDLekHoSyJgin6OT3gxf BJz//UhEzHlI+djstyXET1autTqBTP1hYcvNfyh1l0eT/NVV0zZjWShquMr84WZt7ezfnJHZChbal MnWkgP/WF20PXsy7mKHREjLB8VzdPia64K7gMQQQehOkIMKyxa/ojOotvqirvfp4lHoOUVl8tdJzT cYqH00aDET2nqR62povSDw==; Received: from [87.69.77.57] (port=2741 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 1ocOdN-0003jr-Tn; Sun, 25 Sep 2022 06:13:14 -0400 Date: Sun, 25 Sep 2022 13:13:03 +0300 Message-Id: <83bkr3n4nk.fsf@gnu.org> From: Eli Zaretskii To: Arun Isaac In-Reply-To: <20220925100020.13229-1-arunisaac@systemreboot.net> (message from Arun Isaac on Sun, 25 Sep 2022 15:30:20 +0530) Subject: Re: bug#58070: [PATCH 0/1] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: Arun Isaac > From: Arun Isaac > Date: Sun, 25 Sep 2022 15:30:20 +0530 > > This patch adds the tamil99 input method to Emacs. Thanks! > This is my first contribution to Emacs, and I believe I need to assign > copyright to the FSF. May we get started with copyright assignment? I > have assigned copyright for other GNU projects before, but not for > Emacs. Yes, I've sent the assignment request form off-list. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 07:17:11 2022 Received: (at 58070) by debbugs.gnu.org; 25 Sep 2022 11:17:11 +0000 Received: from localhost ([127.0.0.1]:45958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocPdD-0007t9-Ja for submit@debbugs.gnu.org; Sun, 25 Sep 2022 07:17:11 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:52126) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocPd9-0007sy-4Q for 58070@debbugs.gnu.org; Sun, 25 Sep 2022 07:17:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ZbO2xAiJ6fDJDfM3QQMb4itiZlaPTyNDA85Lqy+K0GI=; b=Ikefiu0rtL/4YE+rsz+t+VBc7c FJV1CNjIjukC7TZstc8hZogDGorow/llIanSVPBjUgLVQFFPlUGoXUPpF+ed5rcZsh6jXQ7jTdtaI cYx4Z9iJakPCutLM+4v7lFk8EpVdnROu6hPSj3438SLZK1M+/RXYTdJzy38Lj7gZM9EKUu0c/n5k8 zlMpR5qVPioAUKq5OcrJ7QqaJsi0BNgf0Js8d5ith4rxgoVLHOmvQkhwct5H8TxjQfIBx2xp/B6VN HMlnKpzCVvF/CPFHoS0SwlQ7Q0LHnEtBFOJs9kdfYD4PWBz6cKyMRH/VQH7SdZPwVXLAmcsoBgtTv bKO03BIg==; Received: from [192.168.2.1] (port=29962 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ocPd5-000VaC-0B; Sun, 25 Sep 2022 16:46:59 +0530 From: Arun Isaac To: Eli Zaretskii Subject: Re: bug#58070: [PATCH 0/1] Add tamil99 input method In-Reply-To: <83bkr3n4nk.fsf@gnu.org> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <83bkr3n4nk.fsf@gnu.org> Date: Sun, 25 Sep 2022 16:46:43 +0530 Message-ID: <87sfkfpuuc.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Yes, I've sent the assignment request form off-list. I've filled the form and sent it to assign@gnu.org. Thanks! From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 07:39:10 2022 Received: (at 58070) by debbugs.gnu.org; 25 Sep 2022 11:39:10 +0000 Received: from localhost ([127.0.0.1]:45987 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocPyY-0002BS-2o for submit@debbugs.gnu.org; Sun, 25 Sep 2022 07:39:10 -0400 Received: from mail-pj1-f65.google.com ([209.85.216.65]:44720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocPyT-0002Aw-Rs for 58070@debbugs.gnu.org; Sun, 25 Sep 2022 07:39:08 -0400 Received: by mail-pj1-f65.google.com with SMTP id i15-20020a17090a4b8f00b0020073b4ac27so4309482pjh.3 for <58070@debbugs.gnu.org>; Sun, 25 Sep 2022 04:39:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:user-agent:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date; bh=FeeGEAOVMEDh9g4AF46ciNGdtEzRjE8aATqpIULrzyQ=; b=EWXjcH65nynbAE07NtYWAa1drRnvEHdbHIPLl2wKwe4VSMl703zah14sDUYLIl7SiH jOECNOUX2YYsoe6fwzAKQ5uSn7iIbU2uEZYhzDqilcNrabq9OXMDSWbClThQvY1UJNd3 Jatx/cq/Tit039Zy0QBDtY3O7YkFBckTpWWH10dUrjWqfba71E4KstFGJcRdrq1KmuuW izrkly5zPiu95w5gBJVSUQnsCKDhBselmZJKLMd4fRrf2iwdUBW1k4WKggtcaS0nX3nP 8xmedtjVaMdML777iwwZuxQT9kJXDZJuTY7d7ZCSFM4IRI7RE3Msxnihh0gO6kEfY1iH ScKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:user-agent:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date; bh=FeeGEAOVMEDh9g4AF46ciNGdtEzRjE8aATqpIULrzyQ=; b=WxdVXoR4Xyx2spgyDVPbmDlYboCz5MB0BW2XaB50PJoQGix42DZEmGmStleI4C+Y0K eRUHwnx0Wbks21s9zR5j0e0XpFWgOAstW0jXggb0lcao+9/g71UMdNdqXDpe7c6YZ+tT cePBC8ERABaQ/jT5LxZ0er2nGUKY/3hxn9jmM7XIcbRVHoNRZG3JMjHfienuBWxm//uo J964LWsfQ8M1KTMowdCvMqBd/v4YNoRx3ZuRUB+N2Tm9wGa0P6Vfm8ZCClw2uYcPCbtW URJZAXNwDJVeSF2NsFKuSZoVw0GmcHWDutvfLi3Z2W+xJD7H9NIB43DHcBcN86r3LWx8 eY2w== X-Gm-Message-State: ACrzQf0zMFfOvb3TAGNKRGY58F4fqkSnW8epD1aZWGEfMWnv2hT5n2tv 4tB+deTWCweW2JUKrpHln1M= X-Google-Smtp-Source: AMsMyM4kmmwgY7MfAUygGu1mtBI8a1EZCejWs6yV0T7Mw9Fm87BOLj6N3l4f4t9dvnEiYh1dUyqhaw== X-Received: by 2002:a17:902:6943:b0:178:4751:a76b with SMTP id k3-20020a170902694300b001784751a76bmr16827369plt.37.1664105939763; Sun, 25 Sep 2022 04:38:59 -0700 (PDT) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with ESMTPSA id ix21-20020a170902f81500b001788494b764sm9047421plb.231.2022.09.25.04.38.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Sep 2022 04:38:58 -0700 (PDT) From: Visuwesh To: Arun Isaac Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <20220925100244.13482-1-arunisaac@systemreboot.net> (Arun Isaac's message of "Sun, 25 Sep 2022 15:32:44 +0530") References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Date: Sun, 25 Sep 2022 17:08:50 +0530 Message-ID: <87h70vsmyd.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 W+CunuCuvuCur+Cuv+CuseCvgSDgrprgr4bgrqrgr43grp/grq7gr43grqrgrrDgr40gMjUsIDIw MjJdIEFydW4gSXNhYWMgd3JvdGU6DQoNCj4gKyhkZWZ1biB0YW1pbDk5LWluc3RhbGwgKCkNCj4g KyAgIkluc3RhbGwgdGFtaWw5OSBpbnB1dCBtZXRob2QuIg0KPiArICAocXVhaWwtZGVmaW5lLXJ1 bGVzKQ0KPiArICA7OyDgrongrq/grr/grrDgr40NCj4gKyAgOzsgdm93ZWwNCj4gKyAgKG1hcGMg KHBjYXNlLWxhbWJkYSAoYCgsdm93ZWwta2V5ICx2b3dlbCkpDQo+ICsgICAgICAgICAgKHF1YWls LWRlZnJ1bGUgdm93ZWwta2V5IHZvd2VsKSkNCj4gKyAgICAgICAgdGFtaWw5OS12b3dlbHMpDQo+ ICsgIChtYXBjIChwY2FzZS1sYW1iZGEgKGAoLGNvbnNvbmFudC1rZXkgLGNvbnNvbmFudCkpDQo+ ICsgICAgICAgICAgOzsg4K6F4K6V4K6wIOCuieCur+Cuv+CusOCvjeCuruCvhuCur+CvjQ0KPiAr ICAgICAgICAgIDs7IGNvbnNvbmFudCB3aXRoIGFnYXJhbSAo4K6FKQ0KPiArICAgICAgICAgIChx dWFpbC1kZWZydWxlIGNvbnNvbmFudC1rZXkgY29uc29uYW50KQ0KPiArICAgICAgICAgIDs7IOCu ruCvhuCur+CvjeCur+CviuCuseCvjeCuseCvgSDgrqrgrr/grqngr40g4K6F4K6V4K6wIOCuieCu r+Cuv+CusOCvjeCuruCvhuCur+CvjQ0KPiArICAgICAgICAgIDs7IHB1bGxpIG9uIGRvdWJsZSBj b25zb25hbnQNCj4gKyAgICAgICAgICAocXVhaWwtZGVmcnVsZSAoY29uY2F0IGNvbnNvbmFudC1r ZXkgY29uc29uYW50LWtleSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAodmVjdG9yIChj b25jYXQgY29uc29uYW50ICLgr40iIGNvbnNvbmFudCkpKQ0KPiArICAgICAgICAgIChtYXBjIChw Y2FzZS1sYW1iZGEgKGAoLHZvd2VsLWtleSAsdm93ZWwtbW9kaWZpZXIpKQ0KPiArICAgICAgICAg ICAgICAgICAgOzsg4K6J4K6v4K6/4K6w4K+N4K6u4K+G4K6v4K+NDQo+ICsgICAgICAgICAgICAg ICAgICA7OyB2b3dlbCtjb25zb25hbnQNCj4gKyAgICAgICAgICAgICAgICAgIChxdWFpbC1kZWZy dWxlIChjb25jYXQgY29uc29uYW50LWtleSB2b3dlbC1rZXkpDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAodmVjdG9yIChjb25jYXQgY29uc29uYW50IHZvd2VsLW1vZGlmaWVy KSkpDQo+ICsgICAgICAgICAgICAgICAgICA7OyDgrq7gr4bgrq/gr43grq/gr4rgrrHgr43grrHg r4Eg4K6q4K6/4K6p4K+NIOCuieCur+Cuv+CusOCvjeCuruCvhuCur+CvjQ0KPiArICAgICAgICAg ICAgICAgICAgOzsgdm93ZWwrY29uc29uYW50IGFmdGVyIGRvdWJsZSBjb25zb25hbnQNCj4gKyAg ICAgICAgICAgICAgICAgIChxdWFpbC1kZWZydWxlIChjb25jYXQgY29uc29uYW50LWtleSBjb25z b25hbnQta2V5IHZvd2VsLWtleSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICh2ZWN0b3IgKGNvbmNhdCBjb25zb25hbnQgIuCvjSIgY29uc29uYW50IHZvd2VsLW1vZGlmaWVy KSkpKQ0KPiArICAgICAgICAgICAgICAgIHRhbWlsOTktdm93ZWwtbW9kaWZpZXJzKSkNCj4gKyAg ICAgICAgdGFtaWw5OS1jb25zb25hbnRzKQ0KPiArICAoc2VxLW1hcG4gKHBjYXNlLWxhbWJkYSAo YCgsbWVsbGluYW0tY29uc29uYW50LWtleSAsbWVsbGluYW0tY29uc29uYW50KQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgYCgsdmFsbGluYW0tY29uc29uYW50LWtleSAsdmFsbGluYW0t Y29uc29uYW50KSkNCj4gKyAgICAgICAgICAgICAgOzsg4K6u4K+G4K6y4K+N4K6y4K6/4K6p4K6u 4K+NIOCuquCuv+CuqeCvjSDgrrXgrrLgr43grrLgrr/grqngrq7gr40NCj4gKyAgICAgICAgICAg ICAgOzsgdmFsbGluYW0gYWZ0ZXIgbWVsbGluYW0NCj4gKyAgICAgICAgICAgICAgKHF1YWlsLWRl ZnJ1bGUgKGNvbmNhdCBtZWxsaW5hbS1jb25zb25hbnQta2V5IHZhbGxpbmFtLWNvbnNvbmFudC1r ZXkpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2ZWN0b3IgKGNvbmNhdCBtZWxs aW5hbS1jb25zb25hbnQgIuCvjSIgdmFsbGluYW0tY29uc29uYW50KSkpDQo+ICsgICAgICAgICAg ICAgIChtYXBjIChwY2FzZS1sYW1iZGEgKGAoLHZvd2VsLWtleSAsdm93ZWwtbW9kaWZpZXIpKQ0K PiArICAgICAgICAgICAgICAgICAgICAgIDs7IOCuruCvhuCusuCvjeCusuCuv+CuqSDgrpLgrrHg r43grrHgr4rgrp/gr43grp/grr/grq8g4K614K6y4K+N4K6y4K6/4K6p4K6u4K+NIOCuquCuv+Cu qeCvjSDgrongrq/grr/grrDgr43grq7gr4bgrq/gr40NCj4gKyAgICAgICAgICAgICAgICAgICAg ICA7OyB2b3dlbCtjb25zb25hbnQgYWZ0ZXIgbWVsbGluYW0tdmFsbGluYW0gY29uc29uYW50DQo+ ICsgICAgICAgICAgICAgICAgICAgICAgKHF1YWlsLWRlZnJ1bGUgKGNvbmNhdCBtZWxsaW5hbS1j b25zb25hbnQta2V5IHZhbGxpbmFtLWNvbnNvbmFudC1rZXkgdm93ZWwta2V5KQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2ZWN0b3IgKGNvbmNhdCBtZWxsaW5hbS1j b25zb25hbnQgIuCvjSIgdmFsbGluYW0tY29uc29uYW50IHZvd2VsLW1vZGlmaWVyKSkpKQ0KPiAr ICAgICAgICAgICAgICAgICAgICB0YW1pbDk5LXZvd2VsLW1vZGlmaWVycykpDQo+ICsgICAgICAg ICAgICB0YW1pbDk5LW1lbGxpbmFtLWNvbnNvbmFudHMNCj4gKyAgICAgICAgICAgIHRhbWlsOTkt dmFsbGluYW0tY29uc29uYW50cykNCj4gKyAgOzsg4K6q4K6/4K6xIOCuteCusOCuv+Cur+CvgeCu sOCvgeCuleCvjeCuleCus+CvjQ0KPiArICA7OyBvdGhlciBjaGFyYWN0ZXJzDQo+ICsgIChtYXBj IChwY2FzZS1sYW1iZGEgKGAoLGtleSAsdHJhbnNsYXRpb24pKQ0KPiArICAgICAgICAgIChxdWFp bC1kZWZydWxlIGtleSB0cmFuc2xhdGlvbikpDQo+ICsgICAgICAgIHRhbWlsOTktb3RoZXIpKQ0K DQpIaSwgSSBoYXZlIGEgdGFtaWw5OSBrZXlib2FyZCBsYXlvdXQgaW4gdGhlIHdvcmtzIGFzIHdl bGwsIGFuZCBJJ20NCnNsb3dseSBkb2dmZWVkaW5nIGl0IHdoaWxzdCBhbHNvIGxlYXJuaW5nIHRo ZSBsYXlvdXQuICBJIHVzZSBhIGRpZmZlcmVudA0KYXBwcm9hY2ggdG8gYWRkIHRoZXNlIHNwZWNp YWwgcnVsZXM6IHVzaW5nIGEgVVBEQVRFLVRSQU5TTEFUSU9OLUZVTkNUSU9OLg0KVGhpcyBoYXMg dGhlIGFkdmFudGFnZSB0aGF0IHlvdSBjYW4gaW5zZXJ0IHRoZSB2b3dlbCBzaWduIGZvciBhbnkN CmNvbnNvbmFudCBvdXQtb2Ytc2VxdWVuY2UgaS5lLiwgeW91IGNhbiBzYXkgaCBqIEJBQ0tTUEFD RSBzDQp0byBpbnNlcnQg4K6V4K6/IChhbmQgc28gZG8gb3RoZXIgcnVsZXMpLiAgV0RZVCBhYm91 dCB0aGlzIGFwcHJvYWNoLCBpcyB0aGlzDQpmZWFzaWJsZT8NCg0KQUZBSUssIE1TIFdpbmRvd3Mn IHRhbWlsOTkga2V5Ym9hcmQgbGF5b3V0IGJlaGF2ZXMgbGlrZSBtaW5lLCB3aGVyZWFzDQp0aGUg aWJ1cyBsYXlvdXQgYmVoYXZlcyBsaWtlIHlvdXIgaW1wbGVtZW50YXRpb24uICBJZiB5b3UgYXJl IGEgaGVhdnkNCnVzZXIgb2YgdGhpcyBsYXlvdXQsIGNhbiB5b3UgdHJ5IG91dCB0aGUgYXR0YWNo ZWQ/DQoNClRoZSBvbmx5IHJlYXNvbiB3aHkgSSBoYXZlbid0IHN1Ym1pdHRlZCBhIHBhdGNoIHNv IGZhciBpcyBiZWNhdXNlIEkgd2FzDQpub3Qgc3VyZSBpZiBteSBpbXBsZW1lbnRhdGlvbiB3YXNu J3QgcmlkZGxlZCBvZiBidWdzLg0KDQo= --=-=-= Content-Type: application/emacs-lisp Content-Disposition: attachment; filename=tamil99.el Content-Transfer-Encoding: quoted-printable ;;; tamil99.el --- Tamil99 keyboard layout -*- lexical-binding: t= ; -*- ;; Copyright (C) 2022 Visuwesh ;; Author: Visuwesh ;; Keywords: i18n, languages ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; This is an Emacs port of the Tamil99 keyboard layout. ;; For a description of the layout, visit http://www.tamilvu.org/ta/tkbd-in= dex-341488 ;; (direct link http://www.tamilvu.org/tkbd/Tamil_Unicode_G.O.zip). ;;; Code: (require 'quail) (defvar tamil99-translation-rules '(("q" . "=E0=AE=86") ("w" . "=E0=AE=88") ("e" . "=E0=AE=8A") ("r" . "=E0= =AE=90") ("t" . "=E0=AE=8F") ("y" . "=E0=AE=B3") ("u" . "=E0=AE=B1") ("i" .= "=E0=AE=A9") ("o" . "=E0=AE=9F") ("p" . "=E0=AE=A3") ("[" . "=E0=AE=9A") (= "]" . "=E0=AE=9E") ("Q" . "=E0=AE=B8") ("W" . "=E0=AE=B7") ("E" . "=E0=AE=9C") ("R" . "=E0= =AE=B9") ("T" . ["=E0=AE=95=E0=AF=8D=E0=AE=B7"]) ("Y" . ["=E0=AE=B8=E0=AF= =8D=E0=AE=B0=E0=AF=80"]) ("U" . "=E0=AE=B6") ("I" . "=E0=AE=A9") ("O" . "["= ) ("P" . "]") ("a" . "=E0=AE=85") ("s" . "=E0=AE=87") ("d" . "=E0=AE=89") ("f" . "=E0= =AF=8D") ("g" . "=E0=AE=8E") ("h" . "=E0=AE=95") ("j" . "=E0=AE=AA") ("k" .= "=E0=AE=AE") ("l" . "=E0=AE=A4") (";" . "=E0=AE=A8") ("'" . "=E0=AE=AF") ("A" . "=E0=AF=B9") ("S" . "=E0=AF=BA") ("D" . "=E0=AF=B8") ("F" . "=E0= =AE=83") ("G" . "=E0=AE=8E") ("H" . "=E0=AE=95") ("J" . "=E0=AE=AA") ("K" .= "\"") ("L" . ":") (":" . ";") ("\"" . "'") ("z" . "=E0=AE=94") ("x" . "=E0=AE=93") ("c" . "=E0=AE=92") ("v" . "=E0= =AE=B5") ("b" . "=E0=AE=99") ("n" . "=E0=AE=B2") ("m" . "=E0=AE=B0") ("/" .= "=E0=AE=B4") ("Z" . "=E0=AF=B3") ("X" . "=E0=AF=B4") ("C" . "=E0=AF=B5") ("V" . "=E0= =AF=B6") ("B" . "=E0=AF=B7") ("N" . "=E0=AF=90") ("M" . "/"))) ;; Separate to speed `assoc-default' calls in the translation func. (defvar tamil99-extra-translations '(("^2" . "=C2=BD") ("^3" . "=C2=BE") ("^4" . "=C2=BC") ("^7" . "=E2=80= =98") ("^8" . "=E2=80=99") ("^9" . "=E2=80=9C") ("^0" . "=E2=80=9D") ("^." . "=E2=80=A2") ("^C" . = "=C2=A9") ("^S" . "=C2=A0") ;; NBSP. ("^^" . "^") ("^#" . "=E2=82=B9") ("^f" . "=E0=AF=8D") ("^q" . "=E0=AE=BE") ("^s" . "=E0=AE=BF") ("^w" . = "=E0=AF=80") ("^d" . "=E0=AF=81") ("^e" . "=E0=AF=82") ("^g" . "=E0=AF=86") ("^t" . "=E0=AF=87") ("^r" . = "=E0=AF=88") ("^c" . "=E0=AF=8A") ("^x" . "=E0=AF=8B") ("^z" . "=E0=AF=8C") ("^#0#" . "=E0=AF=A6") ("^#1#" . "=E0=AF=A7") ("^#2#" . "=E0=AF=A8") ("= ^#3#" . "=E0=AF=A9") ("^#4#" . "=E0=AF=AA") ("^#5#" . "=E0=AF=AB") ("^#6#" . "=E0=AF=AC") ("^#7#" . "=E0=AF=AD") ("= ^#8#" . "=E0=AF=AE") ("^#9#" . "=E0=AF=AF") ("^#10#" . "=E0=AF=B0") ("^#100#" . "=E0=AF=B1") ("^#1000#" . "=E0=AF= =B2") ;; TODO: Is 1/16, 3/16, 3/80 correct? ("^#18#" . "=F0=91=BF=8C") ("^#14#" . "=F0=91=BF=90") ("^#12#" . "=F0= =91=BF=91") ("^#34#" . "=F0=91=BF=93") ("^#132#" . "=F0=91=BF=85") ("^#116#" . "=F0=91=BF=8A") ("^#316#" . "= =F0=91=BF=8E") ("^#140#" . "=F0=91=BF=84") ("^#120#" . "=F0=91=BF=88") ("^#110#" . "=F0=91=BF=8B") ("^#320#" . "= =F0=91=BF=8D") ("^#15#" . "=F0=91=BF=8F") ("^#1320#" . "=F0=91=BF=80") ("^#1160#" . "=F0=91=BF=81") ("^#180#" . "= =F0=91=BF=82") ("^#380#" . "=F0=91=BF=86"))) (defun tamil99--lookup-translation (key) (let ((trans (assoc-default key tamil99-translation-rules))) (if (vectorp trans) (aref trans 0) trans))) (defvar tamil99-vowel-signs '(("=E0=AE=85" . nil) ("=E0=AE=86" . ?=E0=AE=BE) ("=E0=AE=87" . ?=E0=AE= =BF) ("=E0=AE=88" . ?=E0=AF=80) ("=E0=AE=89" . ?=E0=AF=81) ("=E0=AE=8A" . ?=E0=AF=82) ("=E0=AE=8E" . ?= =E0=AF=86) ("=E0=AE=8F" . ?=E0=AF=87) ("=E0=AE=90" . ?=E0=AF=88) ("=E0=AE=92" . ?=E0=AF=8A) ("=E0=AE=93" . ?= =E0=AF=8B) ("=E0=AE=94" . ?=E0=AF=8C))) (defsubst tamil99-vowel-keyp (key) (member key '("q" "w" "e" "r" "t" "a" "s" "d" "g" "g" "G" "z" "x" "c"))) (defsubst tamil99-consonant-keyp (key) (member key '("y" "u" "i" "o" "p" "[" "]" "U" "I" "Q" "W" "E" "R" "T" "h" "j" "k" "l" ";" "'" "H" "J" "v" "b" "n" "m" "/" "N"))) (defsubst tamil99-consonantp () ;; Consonants in Tamil unicode block is between KA and HA. (<=3D ?=E0=AE=95 (char-before (point)) ?=E0=AE=B9)) (defsubst tamil99-vowel-sign (key) (string (assoc-default (tamil99--lookup-translation key) tamil99-vowel-si= gns))) (defvar tamil99-hard-soft-pairs '(("=E0=AE=95" . ?=E0=AE=99) ("=E0=AE=9A" . ?=E0=AE=9E) ("=E0=AE=A4" . ?= =E0=AE=A8) ("=E0=AE=9F" . ?=E0=AE=A3) ("=E0=AE=AA" . ?=E0=AE=AE) ("=E0=AE= =B1" . ?=E0=AE=A9))) (defsubst tamil99-soft-hard-pairp (key) (eq (assoc-default (tamil99--lookup-translation key) tamil99-hard-soft-pa= irs) (char-before (point)))) (defvar-local tamil99--delink-flag nil "Non-nil means prevent fancy translations. This flag is set to t when a user presses `a' to prevent conversion of mei to uyirmei, or set to `consonant' when a consonant pair or hard-soft consonant pair was handled.") (put 'tamil99--delink-flag 'permanent-local t) ;; The control flag FLAG may be a number, nil or t. ;; If a number, then that length of quail-current-key is to be ;; translated. ;; If nil, then translation is not complete, and should resume. ;; If t, then translation is complete. ;; quail-current-key is the string to be translated, quail-current-str ;; is the final translation. (defun tamil99-update-translation (flag) ;; TODO: Do we need to handle f specially as well? I.e., if the ;; previous character is not a consonant, should it insert =E0=AE=83 (F)? ;; The ibus and MS Windows tamil99 keyboard layouts simply insert ;; pulli regardless of the character before point. (cond ((eq flag t) (let ((key quail-current-key)) (cond ((and (equal key "W") (and (eq (char-before (point)) ?=E0=AF=8D) (eq (char-before (1- (point))) ?=E0=AE=95))) ;; We need a ZWNJ if the previous character is =E0=AE=95=E0=AF=8D, = otherwise =E0=AE=B7 (W) ;; combines with it to produce =E0=AE=95=E0=AF=8D=E0=AE=B7 (T). (setq quail-current-str (string #x200c quail-current-str) ; 200c = =3D ZWNJ tamil99--delink-flag nil)) ((and (tamil99-vowel-keyp key) (tamil99-consonantp)) ;; Check if delink flag needs to be set. ;; TODO: Ask Srinivasan if it is possible to insert =E0=AE=85 after= a consonant. (if (equal key "a") (setq tamil99--delink-flag t quail-current-str "") (if (or (null tamil99--delink-flag) (eq tamil99--delink-flag 'consonant)) ;; If no delink flag is set, then insert the vowel sign. (setq quail-current-str (tamil99-vowel-sign key)) ;; Reset the flag. (setq tamil99--delink-flag nil)))) ((tamil99-consonant-keyp key) ;; If delink flag is set, then don't do any fancy pants stuff. (if tamil99--delink-flag (setq tamil99--delink-flag nil) ;; If a hard-soft consonant pair is encountered or if the ;; previous consonant is same as the current consonant, then ;; add a pulli. (when (or (tamil99-soft-hard-pairp key) ;; FIXME: This naive check will definitely fail ;; when there's a =E0=AE=95=E0=AF=8D=E0=AE=B7before and= we are inserting ;; =E0=AE=B7. (equal (string (char-before (point))) (tamil99--lookup-translation key))) (setq quail-current-str (concat "=E0=AF=8D" (if (characterp qua= il-current-str) (string quail-current-st= r) quail-current-str)) tamil99--delink-flag 'consonant)))) (t (setq tamil99--delink-flag nil))))) ;; Copy-pasted from `quail-update-translation'. ((null flag) (unless quail-current-str (setq quail-current-str (if (quail-kbd-translate) (quail-keyseq-translate quail-current-key) quail-current-key)) (if (and input-method-exit-on-first-char (quail-simple)) (setq flag t)))) ((numberp flag) (let ((len (length quail-current-key))) (if (=3D flag 0) (setq quail-current-str (if (quail-kbd-translate) (quail-keyseq-translate quail-current-key) quail-current-key))) (or input-method-exit-on-first-char (while (> len flag) (setq len (1- len)) (quail-add-unread-command-events (aref quail-current-key len))))))) flag) (quail-define-package "tamil99" "Tamil" "t99" t "Tamil99 keyboard layout." nil nil t t t nil nil nil #'tamil99-update-translation nil t) (progn ;; Clear translation rules. Placeholder for now whilst testing. (let ((quail-current-package (assoc "tamil99" quail-package-alist))) (setf (nth 2 quail-current-package) '(nil))) (dolist (r (append tamil99-translation-rules tamil99-extra-translations)) (quail-defrule (car r) (cdr r) "tamil99"))) (defun tamil99--clear-delink-flag () (when (equal current-input-method "tamil99") (setq tamil99--delink-flag nil))) (add-hook 'input-method-deactivate-hook #'tamil99--clear-delink-flag) (provide 'tamil99) ;;; tamil99.el ends here --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 10:00:18 2022 Received: (at 58070) by debbugs.gnu.org; 25 Sep 2022 14:00:18 +0000 Received: from localhost ([127.0.0.1]:48268 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocSB8-0000CR-0R for submit@debbugs.gnu.org; Sun, 25 Sep 2022 10:00:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34000) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocSB3-0000Bz-T7 for 58070@debbugs.gnu.org; Sun, 25 Sep 2022 10:00:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47452) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ocSAw-0002uK-Nv; Sun, 25 Sep 2022 10:00:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=tI5WLHTz6YdLdpMVV5c5WUEK3n2IOBy9nlEPjIdaeBU=; b=Owhx47klI4dv xlNTGv7u+BNeo8iJoQe/5w0CTXSdFrvZRb+WpIASQFBa9CgABR3yP/pjermodq53mcOk7KFR4RiYX jEedXbk6NBrcnRsvIDTxa30vz7eE+hWcUAuwJCG1i3EXcEBD/KYuY1d24vkoDabtXckhl5rgyd+/O eZ4eIiNcuDipZYKgfn6dZ/tJGUON9yUP+yfb7NysSXUOdHucVaBahIGqJNQ1QOx++DLjLOeY6KiW3 bIruTZbe+5QhqXhngYSjqaoiFncoYRk9J564xkypVdA2QOkfxyAqzgv8+IPv0XZP/dg4vaUPn3vkk 9V7ZaoeHckCeFzn+cMXlVg==; Received: from [87.69.77.57] (port=4619 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 1ocSAv-00041F-Sc; Sun, 25 Sep 2022 10:00:06 -0400 Date: Sun, 25 Sep 2022 16:59:54 +0300 Message-Id: <8335cfmu5h.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87h70vsmyd.fsf@gmail.com> (message from Visuwesh on Sun, 25 Sep 2022 17:08:50 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 58070@debbugs.gnu.org > From: Visuwesh > Date: Sun, 25 Sep 2022 17:08:50 +0530 > > AFAIK, MS Windows' tamil99 keyboard layout behaves like mine, whereas > the ibus layout behaves like your implementation. If you are a heavy > user of this layout, can you try out the attached? Please note that we could have support for both layouts, there's no particular reason we should have only one. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 10:15:05 2022 Received: (at 58070) by debbugs.gnu.org; 25 Sep 2022 14:15:05 +0000 Received: from localhost ([127.0.0.1]:48296 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocSPR-0000ZA-J6 for submit@debbugs.gnu.org; Sun, 25 Sep 2022 10:15:05 -0400 Received: from mail-pl1-f195.google.com ([209.85.214.195]:34718) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocSPN-0000YL-Uw for 58070@debbugs.gnu.org; Sun, 25 Sep 2022 10:15:03 -0400 Received: by mail-pl1-f195.google.com with SMTP id w13so4136517plp.1 for <58070@debbugs.gnu.org>; Sun, 25 Sep 2022 07:15:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:user-agent :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date; bh=v3C70zCgpTEH+7GYOzM2oEZmoPedF5JDH5MjwZ6eVEQ=; b=Cealp4EQu+l7ZoxAJ8F6KclMd9jH2EJF6LXHmADgh0fhiPEd5/tTrP8ygXaEIbVQIR zSCviXMhmkhnCmB861i5+02bKxl28NO1t7cM7sNpoKNViE+94PNEV3hDGmiQ1LV//Ml5 E7ajdYdR42905CraxouULnUrnPWza9YsdoVqztmh0btxq7cSZBBoulTQjwUpR0PCCIZ2 dXl35Dscv+2iXNPPMCmhLZKQeGbQJ627Mj+jdFZM3qxeUtrFgBDVtQ4fJ9jk5IXkpCz1 F9Sm/xuHRC8Y/kvMhZA4pCtpUBimLztt/CmjkXlGeElcNOL5ZIALrtuO3VGWHVOnv8W/ QHXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:user-agent :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date; bh=v3C70zCgpTEH+7GYOzM2oEZmoPedF5JDH5MjwZ6eVEQ=; b=F7hMTmAYEimXQSVWO/Z0clO9MLS+3Ex0UYWJbyOy9OjPuRbLVu4RNzX1qb7tVBO4ax fQvs+0F7B31NKnnaQxx7sWPp61KIRjBPZsqJQernOiA+aSggFqHbn2ZcH/OAF0BnJsvV e2d2plnS0LvJ44NtnMOw5SlRhXOWCWk83vUDlk2WCTOcti5OeEvNtBhqjyWSuBKwYC9W 1P6G6eySgfRfnzq7S1SPjxRFybSm497/zJKT6aeyumyCwtkCBgpppcHLivDmS9GWl9gI o4Oj+2Bfzhn2lL32F+irp0dkIhmJyfhfTQZgEMXcD3jA/lSgOZluct1eKcbhYSA/Zkm7 M+bQ== X-Gm-Message-State: ACrzQf3ZNHKmZ/uIaoSenkJWf0ozv3GEvWbimzxNxsvhLRUQCtSrp4Yd yvVTZwJjHViQSy4R1c4wWrU= X-Google-Smtp-Source: AMsMyM46ItFMpEAis4u8g6YbTUAtNdrMUnGLVv7xc1IhmeySgEKyp/HaYu4dcKcZ8OGIVSxx+WEfYg== X-Received: by 2002:a17:90b:33cf:b0:202:5183:c1ab with SMTP id lk15-20020a17090b33cf00b002025183c1abmr19795622pjb.117.1664115296047; Sun, 25 Sep 2022 07:14:56 -0700 (PDT) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with ESMTPSA id y72-20020a62ce4b000000b00540c8ed61ddsm9872711pfg.150.2022.09.25.07.14.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Sep 2022 07:14:55 -0700 (PDT) From: Visuwesh To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <8335cfmu5h.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 25 Sep 2022 16:59:54 +0300") References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <8335cfmu5h.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Date: Sun, 25 Sep 2022 19:44:44 +0530 Message-ID: <87leq7r163.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [=E0=AE=9E=E0=AE=BE=E0=AE=AF=E0=AE=BF=E0=AE=B1=E0=AF=81 =E0=AE=9A=E0=AF=86= =E0=AE=AA=E0=AF=8D=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AE=B0=E0=AF=8D 25= , 2022] Eli Zaretskii wrote: >> AFAIK, MS Windows' tamil99 keyboard layout behaves like mine, whereas >> the ibus layout behaves like your implementation. If you are a heavy >> user of this layout, can you try out the attached? > > Please note that we could have support for both layouts, there's no > particular reason we should have only one. Yes of course but I'm afraid that it will create unneeded confusion, since the differences are quite subtle. So I would prefer the layout which is familiar to most users to get in core. [ If I seemed hasty about getting feedback for my code, it is merely because I cannot be the lab rat myself since I type like a sloth in Tamil99 layout. Moreover, my original goal was to add the layout for Emacs 29. ] From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 10:24:10 2022 Received: (at 58070) by debbugs.gnu.org; 25 Sep 2022 14:24:10 +0000 Received: from localhost ([127.0.0.1]:48311 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocSYD-0000n3-Ub for submit@debbugs.gnu.org; Sun, 25 Sep 2022 10:24:10 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50644) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocSY9-0000mW-Bk for 58070@debbugs.gnu.org; Sun, 25 Sep 2022 10:24:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52696) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ocSY2-0006NM-Ju; Sun, 25 Sep 2022 10:23:58 -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=3NkNmBdzEpt20tv+OcF8WRbSZ2tNa3ztPxMY1D48/Jw=; b=q7qYMZObg5bZqkYPEMQV YpYrCjEnlQ7WxuNr/uMuFvenQz9xTzmZxWwDOhkdeT7EMypcvixC/eMYhIXqG+xH4UIitezHddA5s CTyW/T5lit9LEs+ipshAwkrXv37E0iFzTRllmuCHTEtSTsZOd+/NWN4i7CUJz2GHIWZyksnsR3odK lec1hExOiThTH3P3Ecf9nhXcQWLRMu/ZZFgl/2EUj0pFk7vA2T1H/Ap2YsGHfztTORZLEHFGaDYUG e4yup5/dPSyd72KS2kD3Yn+N0fMqcD1WjEaxUu80l5GDInKWnog/mC3mNWXSSF3tY/TubiCdAbW3s dLRhYy4jYaieyA==; Received: from [87.69.77.57] (port=2115 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 1ocSY1-0002tH-SF; Sun, 25 Sep 2022 10:23:58 -0400 Date: Sun, 25 Sep 2022 17:23:46 +0300 Message-Id: <83y1u7leh9.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87leq7r163.fsf@gmail.com> (message from Visuwesh on Sun, 25 Sep 2022 19:44:44 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <8335cfmu5h.fsf@gnu.org> <87leq7r163.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org > Date: Sun, 25 Sep 2022 19:44:44 +0530 > > [ஞாயிறு செப்டம்பர் 25, 2022] Eli Zaretskii wrote: > > >> AFAIK, MS Windows' tamil99 keyboard layout behaves like mine, whereas > >> the ibus layout behaves like your implementation. If you are a heavy > >> user of this layout, can you try out the attached? > > > > Please note that we could have support for both layouts, there's no > > particular reason we should have only one. > > Yes of course but I'm afraid that it will create unneeded confusion, > since the differences are quite subtle. Why do you think it will confuse users to have two input methods, each one for one of the layouts? If the supported layout is clearly stated in the documentation (or even in the name of the IM), why would it confuse? Please note that we already have several examples where different input methods for the same language are offered, one each for every keyboard layout we think users could find useful. Is Tamil different in some way? > So I would prefer the layout which is familiar to most users to get > in core. If one of the layouts comes from Windows, the other from Unix, we are likely to have two large groups of users, each one of which is familiar with a different layout. Why not offer them both what they are familiar with? From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 10:38:48 2022 Received: (at 58070) by debbugs.gnu.org; 25 Sep 2022 14:38:48 +0000 Received: from localhost ([127.0.0.1]:48324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocSmO-00019C-97 for submit@debbugs.gnu.org; Sun, 25 Sep 2022 10:38:48 -0400 Received: from mail-pg1-f194.google.com ([209.85.215.194]:34352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocSmK-00018v-4i for 58070@debbugs.gnu.org; Sun, 25 Sep 2022 10:38:47 -0400 Received: by mail-pg1-f194.google.com with SMTP id 3so4468305pga.1 for <58070@debbugs.gnu.org>; Sun, 25 Sep 2022 07:38:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date; bh=oYufiGVB9i6/tkLALv/obI950I35w/Iut5AfDVN36zA=; b=i9j1TPMAxvdvpTY0bGaxQoRj6VWWn6zAQOuV5xpNTNyiMZaP4jcdMYa4fcd92ijwDV PtIEV+oqWEU6XPj+BHhtyj35lZm3+C0pzdGgA4hARUiJzafw8IqALFXvFxR6SxBACPsO YLdBKI+/0mUL2A0ox7ZZYKZoXz6Zl/xsIcMFBJ5q1bCTM1yLaZacdkRQWr3Czhg0Qh59 J66rLOCmQJw1pGLpZSOOP+fVGabU7cgnyhph2WysnaeMFA62rT+ZG+bC7wEV9qE9vmN1 3lJLxKqqZLzx9Fh4HaE01cjKFe49kjfsmNj0pFIp50qyM8ioEd7SQ6UXhXHo2fIglyGa 3JxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date; bh=oYufiGVB9i6/tkLALv/obI950I35w/Iut5AfDVN36zA=; b=s9AAmLzSXVtXHv6AdmG6XTBkCf0ojZz48uB9DN8idprtpIZCdIztmeoQ4Q0LGB0gMO juNSIX/l5p7qies3unNzS9YigxDWVw/jOeRztSC9oa+g6yiEcYN3MthawM2XK+mbNZhy H9EFYXPhUNMg0n/Pj23z1a4SFdM+sLp6o0NwBxuqntUGi3nEqIuZwjXl5iQVAUzCfupf MFoIFmDH9lHqmLsdelA7S+lIvZ/2nvPBRlBwgBIF8C7j2pnbdzsK0qZLU0NDQ6Qz7OUg SzYk1tO7RFhH4JbWbvtrtiT7n49qYXiKxHr3dGcYqfWHdv9RsHyMdyDOnTzD1oTsp/9y x7Lw== X-Gm-Message-State: ACrzQf1qicMahZGdGAJoadxf8UBQLg8c2VVkX9MbXd5SW1TeP1GYWoSC TZv3VKwmdY1T3chN0oU/EQQ= X-Google-Smtp-Source: AMsMyM6uBFtX5c+YTjKdWtnCeRs9J+FW4zZo9/kevWKdROCwHy2zBh8badbMv6KZyrzNpYnHz65tOg== X-Received: by 2002:a63:2bcc:0:b0:439:36bb:c036 with SMTP id r195-20020a632bcc000000b0043936bbc036mr15885206pgr.447.1664116718385; Sun, 25 Sep 2022 07:38:38 -0700 (PDT) Received: from localhost ([118.185.152.162]) by smtp.gmail.com with ESMTPSA id a8-20020a170902900800b00178acc7ef16sm9384152plp.253.2022.09.25.07.38.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Sep 2022 07:38:37 -0700 (PDT) From: Visuwesh To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83y1u7leh9.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 25 Sep 2022 17:23:46 +0300") References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <8335cfmu5h.fsf@gnu.org> <87leq7r163.fsf@gmail.com> <83y1u7leh9.fsf@gnu.org> Date: Sun, 25 Sep 2022 20:08:29 +0530 Message-ID: <87edvzr02i.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [=E0=AE=9E=E0=AE=BE=E0=AE=AF=E0=AE=BF=E0=AE=B1=E0=AF=81 =E0=AE=9A=E0=AF=86= =E0=AE=AA=E0=AF=8D=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AE=B0=E0=AF=8D 25= , 2022] Eli Zaretskii wrote: >> From: Visuwesh >> Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org >> Date: Sun, 25 Sep 2022 19:44:44 +0530 >>=20 >> [=E0=AE=9E=E0=AE=BE=E0=AE=AF=E0=AE=BF=E0=AE=B1=E0=AF=81 =E0=AE=9A=E0=AF= =86=E0=AE=AA=E0=AF=8D=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AE=B0=E0=AF=8D= 25, 2022] Eli Zaretskii wrote: >>=20 >> >> AFAIK, MS Windows' tamil99 keyboard layout behaves like mine, whereas >> >> the ibus layout behaves like your implementation. If you are a heavy >> >> user of this layout, can you try out the attached? >> > >> > Please note that we could have support for both layouts, there's no >> > particular reason we should have only one. >>=20 >> Yes of course but I'm afraid that it will create unneeded confusion, >> since the differences are quite subtle. > > Why do you think it will confuse users to have two input methods, each > one for one of the layouts? If the supported layout is clearly stated > in the documentation (or even in the name of the IM), why would it > confuse? They are both named "Tamil99", just slightly different implementations. In that case, how do you propose to name these slightly different implementations that have a single name---Tamil99? They are identical majorly in that they both have the same layout but the "special rules" intended to ease the pain of typing Tamil in a computer are handled differently. If you prefer, I can quote the spec and explain the differences between Windows' and ibus' implementations. > Please note that we already have several examples where different > input methods for the same language are offered, one each for every > keyboard layout we think users could find useful. Is Tamil different > in some way? No, Tamil is not any different. But the confusion is caused by the _implementation detail_. Since the specs is not clear enough [1], you end up with subtly different implementations of the keyboard layout. >> So I would prefer the layout which is familiar to most users to get >> in core. > > If one of the layouts comes from Windows, the other from Unix, we are > likely to have two large groups of users, each one of which is > familiar with a different layout. Why not offer them both what they > are familiar with? Microsoft added the layout in 2018 in Windows 10. I have no idea when the ibus layout was added. We could offer both, but Someone=E2=84=A2 will = need to come up with a clear name. I hope my stance is now clear. [1] http://www.tamilvu.org/tkbd/Tamil_Unicode_G.O.zip From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 25 11:55:33 2022 Received: (at 58070) by debbugs.gnu.org; 25 Sep 2022 15:55:33 +0000 Received: from localhost ([127.0.0.1]:48385 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocTyf-00035K-1g for submit@debbugs.gnu.org; Sun, 25 Sep 2022 11:55:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45274) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocTyc-000357-0Q for 58070@debbugs.gnu.org; Sun, 25 Sep 2022 11:55:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56114) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ocTyV-0002Ty-7z; Sun, 25 Sep 2022 11:55:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=09N9G0tHIQGtFahyYg4fPlZT7cWCj5lvTTNNvmtatl0=; b=rU4Pc+xzGkE5 GqGmA0zeI+V/Lrg1dRLXKDJGVW+oUFyiNRTaV84OcHEmYxII+Ku6I0U/rrj1iSkF9Yec42wSOOyGz 2tMJ+4YXYpCyyDH87PWx+6d1HLRXj52zGhYdBdyiLWOe6wW0Co0ZxrOTnGP7GUw89Fjj4Ar63haGj l9x9M07Dvb+2uMmGXoCTUpzF+UR3+4cNr1L5S4+xw95w3W2bCvY/ImRI6iynMKhPb9DipK8Vywp4S j7zoMFNlmCQSCwRBcupYcnHNMT0FDnDbY7ZTK0IKIOi9W44yEXpZM9X6OxE8ihTR4p8PMzCpEMxZS teHo0jQ+5I5naWfhMKDsSA==; Received: from [87.69.77.57] (port=3704 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 1ocTyO-0000sq-1K; Sun, 25 Sep 2022 11:55:18 -0400 Date: Sun, 25 Sep 2022 18:55:01 +0300 Message-Id: <83v8pbla96.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87edvzr02i.fsf@gmail.com> (message from Visuwesh on Sun, 25 Sep 2022 20:08:29 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <8335cfmu5h.fsf@gnu.org> <87leq7r163.fsf@gmail.com> <83y1u7leh9.fsf@gnu.org> <87edvzr02i.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org > Date: Sun, 25 Sep 2022 20:08:29 +0530 > > > > > Why do you think it will confuse users to have two input methods, each > > one for one of the layouts? If the supported layout is clearly stated > > in the documentation (or even in the name of the IM), why would it > > confuse? > > They are both named "Tamil99", just slightly different implementations. > In that case, how do you propose to name these slightly different > implementations that have a single name---Tamil99? No, they should have 2 different names, of course. Say, Tamil99-ibus and Tamil99-windows. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 26 16:55:42 2022 Received: (at 58070) by debbugs.gnu.org; 26 Sep 2022 20:55:42 +0000 Received: from localhost ([127.0.0.1]:51897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocv8g-0007Vu-9A for submit@debbugs.gnu.org; Mon, 26 Sep 2022 16:55:42 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:47146) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocv8b-0007Vh-Hc for 58070@debbugs.gnu.org; Mon, 26 Sep 2022 16:55:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=TgncSpRpvRC9xhznl76nXPefP4HSxrQggN5QO7nm+dI=; b=FrjO7Vigo/Qo0voCL5SU8U4ex8 tHheqwv4seabi+3cMTDyZz4VZJFrKi4JIaqsHoqk2qBLlYFkgSeP0YOTlQRDWQ/Hpc7u2hgxkZIUO gsVH85SnfQmTDbQXhUjvvp30l5hdofM84NC6m6nIGxX0YQrTjUwQ0SwvR/3zSRVI1gl6hMe0mej0+ kaMtAaanXu0V9yc8T8qR8K84FI5bQHQY4e+LFpPtC/vGY6c1XulmKRrzhCIF5Q8TJiDROe0iTwaCt t+RslxH8iAVKnVOSfZJlVGJlrEexV7ifjVslNYJUks8ZVDkhWvlvgNFcI/tT0k2HrX0pG3DBx6QM7 rzQeBLVw==; Received: from [192.168.2.1] (port=52944 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ocv8W-000bPQ-2j; Tue, 27 Sep 2022 02:25:32 +0530 From: Arun Isaac To: Visuwesh Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <87h70vsmyd.fsf@gmail.com> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> Date: Tue, 27 Sep 2022 02:25:28 +0530 Message-ID: <87ill9ony7.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, > I have a tamil99 keyboard layout in the works as well, and I'm slowly > dogfeeding it whilst also learning the layout. I use a different > approach to add these special rules: using a > UPDATE-TRANSLATION-FUNCTION. > > WDYT about this approach, is this feasible? Nice to see your code, Visuwesh. Sorry to have duplicated your work, but it happens at times! ;-) I wrote my implementation of tamil99 more than a year ago, and have been using it privately since. But only last month, I finished it properly and published it in a git repo at https://git.systemreboot.net/tamil99/about/ > The only reason why I haven't submitted a patch so far is because I was > not sure if my implementation wasn't riddled of bugs. I know the feeling. I empathize. :-) I see that Visuwesh's implementation takes an imperative mutational approach, whereas mine is a more functional declarative approach which enumerates all possible rules into a quail map. The imperative approach is indeed more powerful since it is arbitrary code and can do anything. But, I feel that is not really necessary for a relatively simple input method like tamil99. The declarative approach results in shorter and more readable code. It also gives us nice features such as the keyboard layout visualization and the key sequence tabulation in describe-input-method. > AFAIK, MS Windows' tamil99 keyboard layout behaves like mine, whereas > the ibus layout behaves like your implementation. If you are a heavy > user of this layout, can you try out the attached? Indeed, I do use the tamil99 input method almost every day. I tried out your implementation, and am having difficulty getting it working correctly. This is likely because I have an Ergodox keyboard with a non-standard keyboard layout. I have told quail about this keyboard layout by setting the quail-keyboard-layout variable. But, your implementation assumes a qwerty layout. It should instead call quail-keyboard-translate or quail-keyseq-translate to translate keystrokes. My declarative implementation does this correctly since I don't directly touch the quail state machine, and merely instruct quail to do the necessary translation by passing a non-nil kbd-translate argument to quail-define-package. > This has the advantage that you can insert the vowel sign for any > consonant out-of-sequence i.e., you can say h j BACKSPACE s > to insert =E0=AE=95=E0=AE=BF (and so do other rules). I agree. Your imperative approach does have this advantage. But, it comes at the price of having to inspect the buffer at (point). The declarative approach does not need to inspect the buffer at all since it merely composes sequential keystrokes and doesn't know anything about what's already on the buffer. I personally think buffer inspection is a lot of code complexity for a simple input method like tamil99, but perhaps Eli should take a call on this. Also, while the out-of-sequence vowel insertion is a very clever feature, it shouldn't be required at all if we handled grapheme cluster boundaries correctly. See https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries Let me explain with a latin example for the benefit of non-Tamil readers. Suppose we had: g=CC=80| where | is the position of the cursor. Now, if we press backspace, the entire g+grave accent grapheme cluster should be deleted. But, what actually happens is that the grave accent alone is deleted and we are left with a 'g' like so: g| A similar thing happens in Tamil. Now, based on user expectation, this may be acceptable in some languages. But, in Tamil, it is quite contrary to user expectation. If I have =E0=AE=95=E0=AE=BF| and press backspace, I get: =E0=AE=95| But, I want the whole "user-perceived character" (=E0=AE=95=E0=AE=BF) delet= ed like so: | I would happily submit a patch fixing this if I knew where the fix should be applied. My guess is that this is outside the scope of quail, and probably even outside the scope of Emacs. Any insight on this would be much appreciated. Regards, Arun From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 26 16:59:27 2022 Received: (at 58070) by debbugs.gnu.org; 26 Sep 2022 20:59:27 +0000 Received: from localhost ([127.0.0.1]:51904 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocvCJ-0007bp-2h for submit@debbugs.gnu.org; Mon, 26 Sep 2022 16:59:27 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:33896) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ocvCG-0007bg-Qz for 58070@debbugs.gnu.org; Mon, 26 Sep 2022 16:59:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ypuqWG6dwTxc9SpeXt34nEhiozadHEWPmzBz/wvRwUQ=; b=pU5W/npWlMEMGtTaCwwoE6Por+ oCT+UzK2w1jCbZDq5rUrJwRwQbYqLdiAaINSS1fg8HbKYw593nKK8p5POOXHGKgVewVnF+1UBTuCb anGyuCnT036ugsWPcFdYxZfva2e/gB/fuC+9oJ/RnHW6SLe8FkGYmeqK+O2VhjCE1wYaD3XTKedup Vi2kb5c9mhM0YYari+7CWOI8/3EzDGSiFtnV2gaiq/w6NU/nytKJo7gH7xxw2qbIpLkAic4DbXFNZ FiW/R0A9P9djkVmCupuFCGyzFputCd1BmGIySrzFl1aqKU/OjA9BdZHZgfNpiMjamQAePXh8W0u/m BhozNK9Q==; Received: from [192.168.2.1] (port=51480 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ocvCD-000bPo-2b; Tue, 27 Sep 2022 02:29:21 +0530 From: Arun Isaac To: Eli Zaretskii , Visuwesh Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83v8pbla96.fsf@gnu.org> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <8335cfmu5h.fsf@gnu.org> <87leq7r163.fsf@gmail.com> <83y1u7leh9.fsf@gnu.org> <87edvzr02i.fsf@gmail.com> <83v8pbla96.fsf@gnu.org> Date: Tue, 27 Sep 2022 02:29:17 +0530 Message-ID: <87fsgdonru.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> > Why do you think it will confuse users to have two input methods, each >> > one for one of the layouts? If the supported layout is clearly stated >> > in the documentation (or even in the name of the IM), why would it >> > confuse? >> >> They are both named "Tamil99", just slightly different implementations. >> In that case, how do you propose to name these slightly different >> implementations that have a single name---Tamil99? > > No, they should have 2 different names, of course. Say, Tamil99-ibus > and Tamil99-windows. I do agree with Visuwesh that we should not offer two separate input methods---one for each implementation. Our code is but two different implementations of *exactly* the same input method. The differences in behaviour are far too subtle and would only confuse the user. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 26 21:51:15 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 01:51:15 +0000 Received: from localhost ([127.0.0.1]:52065 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oczkh-00008h-C7 for submit@debbugs.gnu.org; Mon, 26 Sep 2022 21:51:15 -0400 Received: from mail-pj1-f65.google.com ([209.85.216.65]:40640) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oczkc-00008R-Gr for 58070@debbugs.gnu.org; Mon, 26 Sep 2022 21:51:13 -0400 Received: by mail-pj1-f65.google.com with SMTP id h8-20020a17090a054800b00205ccbae31eso1676205pjf.5 for <58070@debbugs.gnu.org>; Mon, 26 Sep 2022 18:51:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :message-id:date:in-reply-to:subject:cc:to:from:from:to:cc:subject :date; bh=sVP3J4TKjt6QDz3e6vxMjFzYZ/3Gi/JDZIMDy7BqJ4w=; b=eIxHV2vXJSexHfMeEUzeymtfJJEfJEdICfB1yqSJ0X8KFVMZtsBY8CNAjC1FKVPQAF sl14NXkD6HpZ5t9K7H454opHvMy/J4LLEKDwPDjGvtZDFU3slyX7zNoznx79sv8jdNMW ZAELylyMDzV8foVQePdYSw047EvslFekagPEMCPCgX6HxnZUjqJJTxXRvQmIRQ03+M4n cKM3RrSHIaiTsFhsqH4NrXU/zdL/eQlabs6mRaKa22apwAWArY/Lqm2CJN3R0tuzmbZN gJY50f3PuSk/t8tCa/0UOokI4ALz75r59ybG0bf4suoShIlraFsA+2+MEYYMSwkvq/6+ wBPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :message-id:date:in-reply-to:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date; bh=sVP3J4TKjt6QDz3e6vxMjFzYZ/3Gi/JDZIMDy7BqJ4w=; b=xW33F7MRu/WKtpnWbQwIdZHj1WisGx7nkYZJADj+oXnYwZUiS6948xfWLRDTBegLaD wzn0LYaLpKB8QnrOvJVQUqI4Lz2HgUYftY12ovhQWEks/dhD9wJuHX71/XyxvbcexmSE NtOWRXXpI3HlAjB9NViyvTpZKbUucM2+itiiUPhsHMmniHn7sl3qSZPskFzYNbKZeQRD yMjQmAHuZxsncBTy+f3iS51NBZOUCIwtusJv0ymwAWJ0FyqctKIHo5GHFsesQjpThjGW R6oKtIV7EtYJ3NdSaF+valwKrhSZhS+OdpO98JrPxE7kiZjuLTo0dnF53x+gDG50tihm R7fw== X-Gm-Message-State: ACrzQf20moglug6t9dgS1eE9OqglX2IFTU70An5Dk2VYZPhQTwf9bKM+ WVjCITl13i2z61QnhnlXIfk= X-Google-Smtp-Source: AMsMyM4sDNNMZgLWFsrHBs/W05ovbNwnOOUTaAXNrsIBMOvB/1w7nIXFVEfP3kgTTFaa6fIEfxRJkA== X-Received: by 2002:a17:90b:1c07:b0:202:ff6e:6015 with SMTP id oc7-20020a17090b1c0700b00202ff6e6015mr1802862pjb.210.1664243463481; Mon, 26 Sep 2022 18:51:03 -0700 (PDT) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with ESMTPSA id c198-20020a621ccf000000b0052d4cb47339sm180606pfc.151.2022.09.26.18.51.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Sep 2022 18:51:02 -0700 (PDT) From: Visuwesh To: Arun Isaac Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <87ill9ony7.fsf@systemreboot.net> (Arun Isaac's message of "Tue, 27 Sep 2022 02:25:28 +0530") Date: Tue, 27 Sep 2022 07:19:17 +0530 Message-ID: <87ill98u3m.fsf@gmail.com> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [=E0=AE=9A=E0=AF=86=E0=AE=B5=E0=AF=8D=E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D = =E0=AE=9A=E0=AF=86=E0=AE=AA=E0=AF=8D=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0= =AE=B0=E0=AF=8D 27, 2022] Arun Isaac wrote: > Hi, > >> I have a tamil99 keyboard layout in the works as well, and I'm slowly >> dogfeeding it whilst also learning the layout. I use a different >> approach to add these special rules: using a >> UPDATE-TRANSLATION-FUNCTION. >> >> WDYT about this approach, is this feasible? > > Nice to see your code, Visuwesh. Sorry to have duplicated your work, but > it happens at times! ;-)=20 No need to apologise! We both are trying to make typing Tamil more pleasant, after all. >> The only reason why I haven't submitted a patch so far is because I was >> not sure if my implementation wasn't riddled of bugs. > > I know the feeling. I empathize. :-) > > I see that Visuwesh's implementation takes an imperative mutational > approach, whereas mine is a more functional declarative approach which > enumerates all possible rules into a quail map. > > The imperative approach is indeed more powerful since it is arbitrary > code and can do anything. But, I feel that is not really necessary for a > relatively simple input method like tamil99. See below to see why I think checking the buffer is a pleasant experience. > The declarative approach results in shorter and more readable code. It > also gives us nice features such as the keyboard layout visualization > and the key sequence tabulation in describe-input-method. Funnily enough, I went with the imperative approach mainly because I couldn't wrap my head around generating all the possible keysequences. It seemed much simpler to just look at the buffer and figure out what needed to be done. >> AFAIK, MS Windows' tamil99 keyboard layout behaves like mine, whereas >> the ibus layout behaves like your implementation. If you are a heavy >> user of this layout, can you try out the attached? > > Indeed, I do use the tamil99 input method almost every day. > > I tried out your implementation, and am having difficulty getting it > working correctly. This is likely because I have an Ergodox keyboard > with a non-standard keyboard layout. I have told quail about this > keyboard layout by setting the quail-keyboard-layout variable. But, your > implementation assumes a qwerty layout. It should instead call > quail-keyboard-translate or quail-keyseq-translate to translate > keystrokes. Hmm, this is weird. I thought Quail did the translation job for me which is why I boldly assumed the qwerty layout and coded it that way. I will try to change Xorg's keyboard layout and test it. Thanks for testing! > My declarative implementation does this correctly since I don't > directly touch the quail state machine, and merely instruct quail to > do the necessary translation by passing a non-nil kbd-translate > argument to quail-define-package. =20 Here, I'm confused. I pass a non-nil KBD-TRANSLATE argument as well... >> This has the advantage that you can insert the vowel sign for any >> consonant out-of-sequence i.e., you can say h j BACKSPACE s >> to insert =E0=AE=95=E0=AE=BF (and so do other rules). > > I agree. Your imperative approach does have this advantage. But, it > comes at the price of having to inspect the buffer at (point). The > declarative approach does not need to inspect the buffer at all since it > merely composes sequential keystrokes and doesn't know anything about > what's already on the buffer. I personally think buffer inspection is a > lot of code complexity for a simple input method like tamil99, but > perhaps Eli should take a call on this. Despite writing the tamil-phonetic keyboard layout, I disliked how much backspacing and rewriting letters I needed to do when I found a simple kuril-nedil typo, etc. Check-the-buffer approach eases these corrections tremendously and is more close to the experience of writing on paper. I might be biased but I don't think the code is that complex: once I figured out which Quail variables to modify, it was a simple process of following the rules section of Tamil99's specs. > Also, while the out-of-sequence vowel insertion is a very clever > feature, it shouldn't be required at all if we handled grapheme cluster > boundaries correctly.=20 While what you say is great for when we go from uyirmei to uyirmei, sometimes you just need to add a vowel sign to a agara mei easily and be done with it which is what I tried to achieve with my implementation. > [...] > I would happily submit a patch fixing this if I knew where the fix > should be applied. My guess is that this is outside the scope of quail, > and probably even outside the scope of Emacs. Any insight on this would > be much appreciated. Emacs 29's delete-forward-char deletes by grapheme clusters now. It is now a job of writing a backward version of the grapheme cluster detection code. I poked around in the C code to see how find-composition-internal was implemented, and it looked *relatively* straightforward to get a backward searching function working. I might be wrong here, so I hope Eli corrects my misunderstandings. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 26 22:29:53 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 02:29:54 +0000 Received: from localhost ([127.0.0.1]:52088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od0M5-00015L-Kq for submit@debbugs.gnu.org; Mon, 26 Sep 2022 22:29:53 -0400 Received: from mail-pj1-f67.google.com ([209.85.216.67]:43917) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od0M0-000151-9O for 58070@debbugs.gnu.org; Mon, 26 Sep 2022 22:29:52 -0400 Received: by mail-pj1-f67.google.com with SMTP id g1-20020a17090a708100b00203c1c66ae3so8773719pjk.2 for <58070@debbugs.gnu.org>; Mon, 26 Sep 2022 19:29:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date; bh=5eZe2rm4Yplnp+TUreAZBI3iu5IvMkHTzoQelavpAnc=; b=neWwwlDqaxxAr6QTUF0x6Ac4gFjtrF3+i3kzTEGxamtEodSDycAiJix762itSYSuaQ mSnubnOThvQhIkqUdnjwaBKA/7OEtJBNZL9NbbkhQ9HzcwVktR2KV0OUZC8xCr8OA9YX N0iuHX5/zXrKDrwq7fYaNU3gvNBVsSZfLpuPQbKS28Tc40sObNnWWkqQNNDnVJR95wJ7 nHyup0KpsPe25sSWILYtM6qaEAd4wdiscAM58jtf7MLZBg8NPFy4iCn3ppnc6IC+0trK OwcYVmJz1t3q3SwO23ICkjrtVFWBC5qXW7B9mC1S7eIuQAo241Bp0Bl8DXGHHXBAcoIW l7dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date; bh=5eZe2rm4Yplnp+TUreAZBI3iu5IvMkHTzoQelavpAnc=; b=jRNPbW4uOnIw/nSZ7nWOToz19doKusbDT90cprUy6DjcNYyh7GmGOMbCFKQhRatHdl 4PCyM4zgw4qwUsCa9LSUQkcU1v1+RO+3s0r+vrXdYhRBSE+9Pd++BABB3onCf/nrXsrF f6EF6mdxORPvj5ukCWWZmJY0PGt7lb/1ChD9Ikub+gikQ7ZSyWOWO0ky7Ewgzl6Yn/km WmQmnpzuFGYokg3tHHsJcvmdDWN4O4IcrLXGKQdtlmv5OWlWV4TlsbEGUJrncTSlnsTL bqeNdkSfiV7n/u5fni18fOHc1yHExyJshGBVwhNN+5a6SdGaHZq8OySdpgV6g82wV7si s7bA== X-Gm-Message-State: ACrzQf2BPmEI2v1VvYyOgB3oqnLdxs10xfPH4uQDUXNCOQmwKJCot9Uj 2aFqwp+tl0MV8NeCvXDyuTQ= X-Google-Smtp-Source: AMsMyM7ZP4a1H9GW4cf1pi2wcbqabH4R/jYF2coVXPtKragKIf4OKVhZooon2AJL3HDrneVi0a/iYA== X-Received: by 2002:a17:90b:3c8a:b0:200:b874:804 with SMTP id pv10-20020a17090b3c8a00b00200b8740804mr1944909pjb.151.1664245782525; Mon, 26 Sep 2022 19:29:42 -0700 (PDT) Received: from localhost ([118.185.152.162]) by smtp.gmail.com with ESMTPSA id s5-20020a170902ea0500b0017829a3df46sm131664plg.204.2022.09.26.19.29.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Sep 2022 19:29:41 -0700 (PDT) From: Visuwesh To: Arun Isaac Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <87ill98u3m.fsf@gmail.com> (Visuwesh's message of "Tue, 27 Sep 2022 07:19:17 +0530") References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> <87ill98u3m.fsf@gmail.com> Date: Tue, 27 Sep 2022 07:59:39 +0530 Message-ID: <87wn9psg6k.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [=E0=AE=9A=E0=AF=86=E0=AE=B5=E0=AF=8D=E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D = =E0=AE=9A=E0=AF=86=E0=AE=AA=E0=AF=8D=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0= =AE=B0=E0=AF=8D 27, 2022] Visuwesh wrote: >> I tried out your implementation, and am having difficulty getting it >> working correctly. This is likely because I have an Ergodox keyboard >> with a non-standard keyboard layout. I have told quail about this >> keyboard layout by setting the quail-keyboard-layout variable. But, your >> implementation assumes a qwerty layout. It should instead call >> quail-keyboard-translate or quail-keyseq-translate to translate >> keystrokes. > > Hmm, this is weird. I thought Quail did the translation job for me > which is why I boldly assumed the qwerty layout and coded it that way. > I will try to change Xorg's keyboard layout and test it. Thanks for > testing! [ Looks like Quail does not hold your hand in the UPDATE-TRANSLATION-FUNCTION. Reading `quail-update-translation' again, I see the block about keysequence translation now. ] >> [...] merely instruct quail to do the necessary translation by >> passing a non-nil kbd-translate argument to quail-define-package. >=20=20 > Here, I'm confused. I pass a non-nil KBD-TRANSLATE argument as well... Thanks for the hint on quail-keyseq-translate, I fixed it with the following patch diff --git a/tamil99.el b/tamil99.el index 3461ccd..7262d30 100644 --- a/tamil99.el +++ b/tamil99.el @@ -105,7 +105,7 @@ consonant pair or hard-soft consonant pair was handled.= ") ;; pulli regardless of the character before point. (cond ((eq flag t) - (let ((key quail-current-key)) + (let ((key (quail-keyseq-translate quail-current-key))) (cond ((and (equal key "W") (and (eq (char-before (point)) ?=E0=AF=8D) From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 02:23:41 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 06:23:41 +0000 Received: from localhost ([127.0.0.1]:52253 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od40K-0007Qd-UM for submit@debbugs.gnu.org; Tue, 27 Sep 2022 02:23:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34224) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od40J-0007QQ-Qm for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 02:23:40 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39758) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1od40D-0000A1-0Y; Tue, 27 Sep 2022 02:23:33 -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=uRDEkpW5gPOK+NVRSwydQckMLR1Y/jlP/pASuworKsg=; b=OtBwTlvrBFjcOxG9Fatz HxfmVxGF5UwuQJXqQnzi/yqgXVzRF4CpEvLiyfh2kC7RZk2097jGjivVnV2QYHVP/lbhLQidda5ia 2GPt0jRjUTizBdxnDsdM4JL/BH4rmIjGuHPFmnuiN3e+Z4pJuEc0FiONTPXQDVMNH4vL0ii/HBpmg cHu97dqE07f6+aILYVl7Q+Kt1Yc3sR89X1jYXDQ6lfEl6pMNS0yMM8GRRS3zGF2CkYCwnuzRMtPiE YLXup12P4pKmoNJD+TIlh+cZfUz87I6zCUYb1jioIT+KKrLBU5OlhuSz/vcVpyzgSiGbvuplTdVPm fqqFzSJoBbfUYg==; Received: from [87.69.77.57] (port=1271 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 1od409-0004Ur-6I; Tue, 27 Sep 2022 02:23:30 -0400 Date: Tue, 27 Sep 2022 09:23:20 +0300 Message-Id: <83sfkdjpyf.fsf@gnu.org> From: Eli Zaretskii To: Arun Isaac In-Reply-To: <87ill9ony7.fsf@systemreboot.net> (message from Arun Isaac on Tue, 27 Sep 2022 02:25:28 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org, visuweshm@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 58070@debbugs.gnu.org > From: Arun Isaac > Date: Tue, 27 Sep 2022 02:25:28 +0530 > > > This has the advantage that you can insert the vowel sign for any > > consonant out-of-sequence i.e., you can say h j BACKSPACE s > > to insert கி (and so do other rules). > > I agree. Your imperative approach does have this advantage. But, it > comes at the price of having to inspect the buffer at (point). The > declarative approach does not need to inspect the buffer at all since it > merely composes sequential keystrokes and doesn't know anything about > what's already on the buffer. I personally think buffer inspection is a > lot of code complexity for a simple input method like tamil99, but > perhaps Eli should take a call on this. I don't think I understand what you are talking about (I'm not an expert on Quail). Does this complexity slow down the input noticeably? Does it make the code much harder to understand, even if you put enough comments there to explain what's going on? If not, then I don't think the added complexity should be a problem, and you should decide based on other aspects. And as I said earlier, we could have two input methods for Tamil, so we don't necessarily have to decide which of the two is better. > Also, while the out-of-sequence vowel insertion is a very clever > feature, it shouldn't be required at all if we handled grapheme cluster > boundaries correctly. See > https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries Well, we do, that's why cursor motion moves by grapheme clusters, right? Also, see below. > Let me explain with a latin example for the benefit of non-Tamil > readers. Suppose we had: > > g̀| > > where | is the position of the cursor. Now, if we press backspace, the > entire g+grave accent grapheme cluster should be deleted. But, what > actually happens is that the grave accent alone is deleted and we are > left with a 'g' like so: > > g| > > A similar thing happens in Tamil. Now, based on user expectation, this > may be acceptable in some languages. But, in Tamil, it is quite contrary > to user expectation. If I have > > கி| > > and press backspace, I get: > > க| > > But, I want the whole "user-perceived character" (கி) deleted like so: > > | There's a problem with the above: in some situations you want deletion by codepoints, in others you want deletion by grapheme clusters. (It is possible that with Tamil the former is rarely the case, but it is definitely a frequent case with other scripts, in particular with those that have diacriticals.) Emacs 29 solves this by having delete-forward-char, which is usually bound to the key, delete by grapheme clusters, while DEL (which deletes backward) and C-d delete individual codepoints. The primary motivation for DEL to delete by codepoints is that it allows you to make sub-grapheme corrections to stuff you just typed, for example if you typed an incorrect accent. 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? From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 02:26:07 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 06:26:07 +0000 Received: from localhost ([127.0.0.1]:52258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od42g-0007UP-LI for submit@debbugs.gnu.org; Tue, 27 Sep 2022 02:26:07 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39984) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od42Q-0007Te-3P for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 02:26:05 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:37056) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1od42J-0000WC-OC; Tue, 27 Sep 2022 02:25:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=DqzG1+yQxG+SGQbY8AzHCikv9BwXrSjav3y1u78FzBU=; b=PLr0OznuckZS DOiV6AKoKIN9s5erUHwODIMrB/NvX634UFB7D0DM6yhieQL9+DM4mCvmFPjnehzLW3Y9jzixbyk+O zyPPzyzIc/zG6XoUB1JX93IyE3/gDUNOoUZ3Zts9mOqU6o5jMrbyqnCX1FSWHNujxS/1cM5siHiwY m8OyEvWfNMqRlC/aTSoU7zI1sKPMeqil20pe4NMPFbwwRG3fHfrI0FExqYdXumdcY88NaM79p1RPT nAsEmrXpKu+8w9L232rp7nF/xl6mX7tqnalFjdctP/QO1goBE5emgZhwS14tG6iBdiovMy9lDKEiw L/bNoJCEv4cZm/RhvQ0czA==; Received: from [87.69.77.57] (port=1401 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 1od42C-0002TA-HG; Tue, 27 Sep 2022 02:25:37 -0400 Date: Tue, 27 Sep 2022 09:25:29 +0300 Message-Id: <83r0zxjpuu.fsf@gnu.org> From: Eli Zaretskii To: Arun Isaac In-Reply-To: <87fsgdonru.fsf@systemreboot.net> (message from Arun Isaac on Tue, 27 Sep 2022 02:29:17 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <8335cfmu5h.fsf@gnu.org> <87leq7r163.fsf@gmail.com> <83y1u7leh9.fsf@gnu.org> <87edvzr02i.fsf@gmail.com> <83v8pbla96.fsf@gnu.org> <87fsgdonru.fsf@systemreboot.net> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org, visuweshm@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Arun Isaac > Cc: 58070@debbugs.gnu.org > Date: Tue, 27 Sep 2022 02:29:17 +0530 > > I do agree with Visuwesh that we should not offer two separate input > methods---one for each implementation. Our code is but two different > implementations of *exactly* the same input method. The differences in > behaviour are far too subtle and would only confuse the user. I thought they assumed different keyboard layout? Anyway, even for the same layout, it is not unthinkable to have several input methods, we already have that for other scripts. For example, if they offer distinct features that some users could want, but at the price of some additional complexity of input sequences. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 02:37:42 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 06:37:42 +0000 Received: from localhost ([127.0.0.1]:52272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od4Du-0007mX-HO for submit@debbugs.gnu.org; Tue, 27 Sep 2022 02:37:42 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43852) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od4Ds-0007mJ-Oq for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 02:37:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43890) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1od4Dm-0002ID-1M; Tue, 27 Sep 2022 02:37:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=gd58uov6877qZnIJTyyoMncOCa9vsBzdagGZwjUHmjM=; b=D4ol/Zt0zMhq 84e6FkALfhfEd/icEBJmnX6rMAI/QhmSuliwR88oEUe95SFkSCkDYl0izSQWVwiaE/FAPJcb31vFz QqR+Y7UD3In57xMEXAblhAB6Vb15RBnOHET6srhHYoJ9F3DFzMgqmdZp77UUGvkt0LSW0BVZd47On udewt3sitwKrHuOM/FIycmtUHGRhG5Ax2bXsACrqRjKHhs7l1tMGjS60enOFFh7MTYqyZzy4BqVHD JPpr1JOrnjD57mVNGEDDQBSXTtlZO24M0NoaczGtzMLRaXgrv26w9DyXW3U8PQdT8KjalxL/VdR82 aR6MQrqCcBWuJcVy/lxdwA==; Received: from [87.69.77.57] (port=2126 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 1od4Dj-0003cC-Uh; Tue, 27 Sep 2022 02:37:32 -0400 Date: Tue, 27 Sep 2022 09:37:23 +0300 Message-Id: <83o7v1jpb0.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87ill98u3m.fsf@gmail.com> (message from Visuwesh on Tue, 27 Sep 2022 07:19:17 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> <87ill98u3m.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 58070@debbugs.gnu.org > From: Visuwesh > Date: Tue, 27 Sep 2022 07:19:17 +0530 > > > I would happily submit a patch fixing this if I knew where the fix > > should be applied. My guess is that this is outside the scope of quail, > > and probably even outside the scope of Emacs. Any insight on this would > > be much appreciated. > > Emacs 29's delete-forward-char deletes by grapheme clusters now. It is > now a job of writing a backward version of the grapheme cluster > detection code. I poked around in the C code to see how > find-composition-internal was implemented, and it looked *relatively* > straightforward to get a backward searching function working. I might > be wrong here, so I hope Eli corrects my misunderstandings. I don't think I understand what you are after. Please elaborate on the "backward version of the grapheme cluster detection code", and its purpose in this context. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 03:36:18 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 07:36:18 +0000 Received: from localhost ([127.0.0.1]:52366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od58c-0000sr-B5 for submit@debbugs.gnu.org; Tue, 27 Sep 2022 03:36:18 -0400 Received: from mail-pl1-f194.google.com ([209.85.214.194]:38564) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od58Y-0000sa-9s for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 03:36:16 -0400 Received: by mail-pl1-f194.google.com with SMTP id x1so8350743plv.5 for <58070@debbugs.gnu.org>; Tue, 27 Sep 2022 00:36:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date; bh=I91tXa8A6HCgp4K9h41hjboBk1F4LmkmnGelBUrnnNc=; b=puoQwR78IxOJVMi/tHfSKyLBBXAlKT5C6ufNvmNFCN9xZY/LeAUKEEvzZ1kR1nOVmY s/b7rEjV5ZSn7VHqplcr/zcUcNGSHYqN9UCsgUR9x5ipVn0ZMxN3QM5OIjB+Ah71poO0 6OKQWcMFOz14TZ00TZOChY3L9UpMu+w+yjBHDbHatpsoCcwUzoe7yL3hCWmkI1M/EJRM eWpNONIqEPlrcOIn9Vg3iFV85GqrKhR4G6p56Gkm+DgeKXiTLCMlmYpVkIFJGsVpwLhF pE7JHJtb83U5lA3qH35aUHTkgS39mh9i609cTqvlAqGbmYSRo/d7ua9c/3qNgUmGKge1 UbSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date; bh=I91tXa8A6HCgp4K9h41hjboBk1F4LmkmnGelBUrnnNc=; b=Dhb5apvo2pP68b9inhDg5FX8ZycBNrnxox3OzG1W1A540nb900R5U8dDGQsCwP3Sek xKWm5ZwDfclqYgcZYGyeOQ84xZxP01qpKv8t9yaXC/6ETuM0ELQshwbgSsjZwKekpPmG 5Tdz9JgXl9+jGq+mATToPMNFIHih6s4dxv6ZBRRPMJH9s6dnpNIkF2SoH0ir4k8FMaJd FYKqDLwDdk1BXUFGJiGOkLVzXqgRtEDIBXDSYW9+5u/Nwf/104QGdYZMo9UTZAcDckkE EKW4I1HYjHlR8dLc59s+YmD35kwr6uI4MW2y3EAYkOy2hPq8vVCjYy+DNvtC2/UO4r+o IFIw== X-Gm-Message-State: ACrzQf2lq4YLvKP+jUaR+Ijjz3KpAhr1K9qamJ4+SDTVuLbsxgzPtueE VqHUyHBa25KklyzD9iEXO5o= X-Google-Smtp-Source: AMsMyM5+zMd2RAW93aj1FqkH1il6vTp/zT3fIL2PaUp0nUqMMwDD5vGZENySFAdLCNNNGwwtQcLOIA== X-Received: by 2002:a17:90b:2686:b0:203:bf90:f791 with SMTP id pl6-20020a17090b268600b00203bf90f791mr3155582pjb.50.1664264168194; Tue, 27 Sep 2022 00:36:08 -0700 (PDT) Received: from localhost ([14.139.216.98]) by smtp.gmail.com with ESMTPSA id b20-20020a63cf54000000b00434e57bfc6csm783578pgj.56.2022.09.27.00.36.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Sep 2022 00:36:07 -0700 (PDT) From: Visuwesh To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83o7v1jpb0.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 27 Sep 2022 09:37:23 +0300") References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> <87ill98u3m.fsf@gmail.com> <83o7v1jpb0.fsf@gnu.org> Date: Tue, 27 Sep 2022 13:04:48 +0530 Message-ID: <87pmfhe0dj.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [=E0=AE=9A=E0=AF=86=E0=AE=B5=E0=AF=8D=E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D = =E0=AE=9A=E0=AF=86=E0=AE=AA=E0=AF=8D=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0= =AE=B0=E0=AF=8D 27, 2022] Eli Zaretskii wrote: >> Emacs 29's delete-forward-char deletes by grapheme clusters now. It is >> now a job of writing a backward version of the grapheme cluster >> detection code. I poked around in the C code to see how >> find-composition-internal was implemented, and it looked *relatively* >> straightforward to get a backward searching function working. I might >> be wrong here, so I hope Eli corrects my misunderstandings. > > I don't think I understand what you are after. Please elaborate on > the "backward version of the grapheme cluster detection code", and its > purpose in this context. In delete-forward-char, we use find-composition to get the extend of the current glyphs in terms of characters. AFAICT, find-composition does a forward search for the 'composition' text property. My proposal was that we write a find-composition variant that would do a backward search for the 'composition' text property which we then can make of use in delete-backward-char. We cannot simply do backward-char then delete-forward-char and bind it to a command since IIRC the grapheme cluster movement happens in the display code? M-: (progn (backward-char 1) (delete-forward-char 1)) RET deletes =E0=AE=95=E0=AF=81| to | (| being point) whereas if I define the ab= ove as a command named test, and call it via M-x test RET it gives =E0=AE=95| instea= d. Which is why I said we need a "backward version of the grapheme cluster detection code."=20=20 HTH. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 03:52:14 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 07:52:14 +0000 Received: from localhost ([127.0.0.1]:52392 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od5O1-0001Ix-GG for submit@debbugs.gnu.org; Tue, 27 Sep 2022 03:52:14 -0400 Received: from mail-pj1-f65.google.com ([209.85.216.65]:52215) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od5Nz-0001Ij-To for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 03:52:12 -0400 Received: by mail-pj1-f65.google.com with SMTP id u12so362471pjj.1 for <58070@debbugs.gnu.org>; Tue, 27 Sep 2022 00:52:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date; bh=UexgjXL6cTtKLiC3xQ/CvMmjbBS57JixMQ3oLepwIlM=; b=aoOhB0eqkhvoPg/LGlrRHKdSubkCjTMmFJuSprQPU+YoYrZ3nYY5IMWQRsSwRIxHs/ cHmkSPp6b+q8e90wYBkhOn9bcvyC/MaFIytKz3A2LT4QfzUxNCXxr/XwpUS/IwMNpwNg gYild6rik4KLI00F2XX0blr5qqmvccMtpYasXQ6nasuf/E6yIzhx0bckU3cqLNhALLNW YboTjdR3OanZMXdugurGXjtJItslS5QjuGRsmDl36R+b73e0swI19Nqx6AKxm4lTOwvT Euh9DM1foLeOaE2+BSlRK78OWrUn52h8742j0T/EbwLqIRluF3aY0KFPnq7ha2iyMD/0 jjRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date; bh=UexgjXL6cTtKLiC3xQ/CvMmjbBS57JixMQ3oLepwIlM=; b=BNpW4LlCH8t3RaXQr7HKwvakOFqsKmQ/huWyVmXCJX6GUP4TA0Lx5sl27WTI7Do/Hb 4KAkYKTh5jH9+BLFkqOklY4wT7Xo7xP4cfqX5ScwLv2Q8chYkeKj31yvyzqYzAWAk4oQ IlUSih6gEXsU1UuUzBqG3v7UByICAbovDvPfonkFCWx3xasDMzgbRDXByF/vaAD/QJbl 6Pldx3kGZRsSXje3LtUsRrCfTkz4wgDpyf6LZkd+1bHNQUvcDdrBb787ie3vrKKUCH6w g39VGQyGJxrb+3zGLM6UdCMS8P/yiieZb+fHW5YNcxA7ELUCsbmo9lZe2uXoQhSZ846n ZMSw== X-Gm-Message-State: ACrzQf0asthv44sffMCV4YqsISxcbBciBuk3wiYQTPSS8tT65JaSb171 4NvYXWeKbZiS1xWpgs9Os8s= X-Google-Smtp-Source: AMsMyM5Fkpul22h607lUsXnkaMjO+eZPpufICGajcCh+L2Utcg2147vHqp4IaNKXysCzBIeK5ko1CA== X-Received: by 2002:a17:902:d482:b0:178:1585:40b6 with SMTP id c2-20020a170902d48200b00178158540b6mr26362535plg.134.1664265125834; Tue, 27 Sep 2022 00:52:05 -0700 (PDT) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with ESMTPSA id d9-20020a621d09000000b005484d133127sm904016pfd.129.2022.09.27.00.52.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Sep 2022 00:52:05 -0700 (PDT) From: Visuwesh To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83sfkdjpyf.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 27 Sep 2022 09:23:20 +0300") 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> Date: Tue, 27 Sep 2022 13:22:02 +0530 Message-ID: <87leq5dzkt.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: Arun Isaac , 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [=E0=AE=9A=E0=AF=86=E0=AE=B5=E0=AF=8D=E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D = =E0=AE=9A=E0=AF=86=E0=AE=AA=E0=AF=8D=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0= =AE=B0=E0=AF=8D 27, 2022] Eli Zaretskii wrote: Some bits about tamil99 layout first: Tamil99 layout has two parts: the physical keyboard layout akin to QWERTY, Dvorak, workman, etc. and the special "rules" which are supposed to combine vowels and consonants, and ease typing certain character sequences. Tamil has vowels, consonants, and vowel-consonant pairs. When you combine a consonant and a vowel sign, you get a vowel-consonant pair. Tamil99's special "rules" comes into the picture here: these rules tell you how to write these vowel-consonant pairs as the layout itself does not have keys to type all the possible vowel-consonant pairs. E.g., h maps to the consonant =E0=AE=95, d maps to the vowel =E0=AE=89.= When you type h d, you get =E0=AE=95=E0=AF=81. This is basically what the rules= say. I will explain how our implementations differ below. >> I agree. Your imperative approach does have this advantage. But, it >> comes at the price of having to inspect the buffer at (point). The >> declarative approach does not need to inspect the buffer at all since it >> merely composes sequential keystrokes and doesn't know anything about >> what's already on the buffer. I personally think buffer inspection is a >> lot of code complexity for a simple input method like tamil99, but >> perhaps Eli should take a call on this. > > I don't think I understand what you are talking about (I'm not an > expert on Quail).=20=20 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" =3D =E0=AE=95, "d" =3D =E0=AE=89, "hd" =3D =E0=AE=95=E0=AF=81 whic= h 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" =3D =E0=AE=95, "d" =3D =E0=AE=89= . 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 '=E0=AE=95', then I make Quail insert =E0=AF=81= (instead of =E0=AE=89) to get =E0=AE=95=E0=AF=81. This lets you insert vowel-consonant= pairs out-of-order which is akin to what Eric wants. > Does this complexity slow down the input noticeably? This I cannot tell since I am not a fast enough typist. Each keystroke looks up two to three alists of differing sizes on each input. If it leads to a noticeable slowdown, then we can replace the alists with a hashtable instead. > Does it make the code much harder to understand, even if you put > enough comments there to explain what's going on? If not, then I > don't think the added complexity should be a problem, and you should > decide based on other aspects. I tried to comment almost everything I do for the future maintainers, and use the same language as the keyboard layout's spec does (linked in the file's Commentary). > >> Let me explain with a latin example for the benefit of non-Tamil >> readers. Suppose we had: >>=20 >> [...] > > [...] > > 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*. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 03:53:48 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 07:53:48 +0000 Received: from localhost ([127.0.0.1]:52397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od5PY-0001LB-5m for submit@debbugs.gnu.org; Tue, 27 Sep 2022 03:53:48 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56522) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od5PW-0001Kx-Dc for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 03:53:46 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39780) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1od5PP-0004r1-Jg; Tue, 27 Sep 2022 03:53:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=mfbIRO9IIamqshagOkySO8Jh+u5Tv2idaXk/ZMfA7/0=; b=h1n2I8y0z+Zb svh6rolF7uOQIrF/QX12wyuvT89zfL1P+tyv8xwaIQTPqs7c2z4YRnV68mnoEk1n1a26PaWXWE5yI XLdlbFA04CrXxgh9Tf08sOL8qV7OyQZaW87Sgf+DIXbCcnvGfhZWsTJ9KOK1HuVnXxYMc0Pz5Fhgb VxT70X0l9XzYCljva4Kb1ggcict6R4NVfwgdyiNOU+LVhIhhW+MpS1Q2GrusEQp3DFHzYhxgRF58z dUFr9Nfz/EAJ4f7AucxUAxn908zaOnFgmnOX4KxmxalngbybVt5htluCpbAVOTifMxxrbB5n6az5Y xoB0NSEhEA42z73pYRhVeg==; Received: from [87.69.77.57] (port=2823 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 1od5PP-00067J-1P; Tue, 27 Sep 2022 03:53:39 -0400 Date: Tue, 27 Sep 2022 10:53:31 +0300 Message-Id: <83h70tjls4.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87pmfhe0dj.fsf@gmail.com> (message from Visuwesh on Tue, 27 Sep 2022 13:04:48 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> <87ill98u3m.fsf@gmail.com> <83o7v1jpb0.fsf@gnu.org> <87pmfhe0dj.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Visuwesh > Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org > Date: Tue, 27 Sep 2022 13:04:48 +0530 > > In delete-forward-char, we use find-composition to get the extend of the > current glyphs in terms of characters. AFAICT, find-composition does a > forward search for the 'composition' text property. My proposal was > that we write a find-composition variant that would do a backward search > for the 'composition' text property which we then can make of use in > delete-backward-char. You are looking at the wrong branch of the code. There's no 'composition' text property in the case that is of interest to you; the characters are composed by the so-called "automatic composition", whereby Emacs decides which characters to compose without any special text property. The relevant code is in find_automatic_composition, which is called by find-composition-internal. In any case, my suggestion for finding composition backward is to incrementally go back and call find-composition-internal, until it fails to find a composition at or before point. The next question will be: what would be the key to which you'd bind this new command? > We cannot simply do backward-char then delete-forward-char and bind it > to a command since IIRC the grapheme cluster movement happens in the > display code? No, it happens in the command loop. See adjust_point_for_property, which calls composition_adjust_point. I don't think this is important for the issue at hand, because the point adjustment happens only after interactive commands. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 04:04:12 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 08:04:12 +0000 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 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 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==; 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 Date: Tue, 27 Sep 2022 11:03:52 +0300 Message-Id: <83edvxjlav.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <87leq5dzkt.fsf@gmail.com> (message from Visuwesh on Tue, 27 Sep 2022 13:22:02 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method 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 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > 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. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 05:24:23 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 09:24:23 +0000 Received: from localhost ([127.0.0.1]:52861 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od6pC-000449-Pf for submit@debbugs.gnu.org; Tue, 27 Sep 2022 05:24:23 -0400 Received: from mail-wr1-f43.google.com ([209.85.221.43]:33444) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od6pA-00043x-Dg for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 05:24:21 -0400 Received: by mail-wr1-f43.google.com with SMTP id s14so14111660wro.0 for <58070@debbugs.gnu.org>; Tue, 27 Sep 2022 02:24:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date; bh=XmelTHhkCLpSj4YNeA022urgh5JnfwL0TnOapXsxd8o=; b=RgsKuTNCvXA1DdcNVXcuJaH1Tcpj6YVEOzD6AfH30qdLAQs1rXl4ZZWIUVdQ0ttvAn ZacyePqhR/Pxo0Nnc/C6XlpxQWoGkNe2VnV/bBaFZRbRFwaVGAlH+LcHF1ddmsq+Ay/G ood4lyXER/A+OMMMSBJqPxG93exIxm7Oj3hlUQwTKURlltyUfZVg/zc86CmSHXXBYk1t f77rwn4QlCSIalUFo8cYcbBt9ctz6YWNqqLhyUspzylKYSTNc9evwXbYd6MC2MaZvsnO 0ANelsxb4HgrschR0nQ7j+9rNFKuAfPoxNS8GtL4zhdkRUZ6MXpa7N8QRayAsTIwnwyW XaMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date; bh=XmelTHhkCLpSj4YNeA022urgh5JnfwL0TnOapXsxd8o=; b=SL4X7g46PWzp0ziKVcBtSl26ewUtmlnd4xyxTRxklyHdorzxvAbmdR1mV+WHyAR2dc WAmdC+oBXURPAqQSpww7Ky2E76Po1ngIIVqk0hO63ekZURo2X/N7Skl7waqM6TizwlS+ tRaPp/V7Cl2hVoby1ZWCM/j6IgpX0KqZO5sgEcwHiSvBc8o25jgYoToEcKgoUcYo92AC n4O5dNfpmrJKxNNjDDRbA5vcKI9U2C6+hb5VmX/xLXA2ln8G8td5tBsW+bNAb6EUkZTZ wrdN4jS0DzjYIqsdAkRk1MmJyGWlCXUkflyI6EYmujObkk/7x3wMXrEuIihIA1mLyQ6o HnCA== X-Gm-Message-State: ACrzQf1JAFBqPsgYWdXUnfhUnAITPZJmgfYddnLazmVSJ1Ins/APtJb9 CxL0octtfK7PthiPHcBXcyRXiVP/F+Q= X-Google-Smtp-Source: AMsMyM4NRJbn3bgvxkdpdCVnr3C1rWS3medK7cTAezHhe0vfe8TplJ5b3ePISGI6z67nkBc6IJ4i7w== X-Received: by 2002:a5d:464e:0:b0:228:c179:6b0a with SMTP id j14-20020a5d464e000000b00228c1796b0amr15472606wrs.402.1664270653986; Tue, 27 Sep 2022 02:24:13 -0700 (PDT) Received: from rltb ([2a01:e0a:3f3:fb50:d950:845b:e61b:f8d0]) by smtp.gmail.com with ESMTPSA id b5-20020a05600c4e0500b003b339438733sm1264515wmq.19.2022.09.27.02.24.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Sep 2022 02:24:13 -0700 (PDT) From: Robert Pluim To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83h70tjls4.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 27 Sep 2022 10:53:31 +0300") References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> <87ill98u3m.fsf@gmail.com> <83o7v1jpb0.fsf@gnu.org> <87pmfhe0dj.fsf@gmail.com> <83h70tjls4.fsf@gnu.org> Date: Tue, 27 Sep 2022 11:24:12 +0200 Message-ID: <87zgel891f.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org, Visuwesh X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Tue, 27 Sep 2022 10:53:31 +0300, Eli Zaretskii said: Eli> In any case, my suggestion for finding composition backward is to Eli> incrementally go back and call find-composition-internal, until it Eli> fails to find a composition at or before point. or until the glyph-string id changes, no? There could be two grapheme clusters next to each other. Eli> The next question will be: what would be the key to which you'd bind Eli> this new command? DEL, but only for those people who want the new behaviour. The tricky bit is then how to get the old behaviour somewhere. M- - DEL already deletes forward, but M-0 DEL does nothing as far as I know. Robert -- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 05:41:14 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 09:41:14 +0000 Received: from localhost ([127.0.0.1]:52888 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od75V-0004Vt-SR for submit@debbugs.gnu.org; Tue, 27 Sep 2022 05:41:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41422) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od75U-0004Vg-0p for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 05:41:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56100) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1od75N-0005b5-8t; Tue, 27 Sep 2022 05:41:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=ebRdRDRt+uKlMjswh45BQ59/sfdBMY5+hRskZIp5AOU=; b=LRK+03qQG6yL XVDxrd3cIZ2tlltPa9ymy/c5ZSBlDaVUTabFzq9d6ZETuJ+NCD91TmTjdo30F1o96E1AF0dCEF0Xo J68YITac7vQGaLR1Ek7xGDGpkZgwXwzb7+kJN64bm71f5qEJzBPXFwQooc9i+YYsAt4YyKVOTg1PS e/aZV6YlVAnytM+eAsE++oPnJjDiFvZwu8Zj5dzRP6WlP/mXX5TgdBnfZKGpdnzq0YwsRlK8Fs1Yh NcY3Af7bg7yyqNIODjigMZHhzmsyfD7ItRxcaBnSuqNosj7YlUp4yirdcm/eTBFvGmbm9paQiVdhR MdaKlwLOBC2j/xD2n/OELw==; Received: from [87.69.77.57] (port=1944 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 1od75M-0000JT-7s; Tue, 27 Sep 2022 05:41:05 -0400 Date: Tue, 27 Sep 2022 12:40:57 +0300 Message-Id: <838rm5jgt2.fsf@gnu.org> From: Eli Zaretskii To: Robert Pluim In-Reply-To: <87zgel891f.fsf@gmail.com> (message from Robert Pluim on Tue, 27 Sep 2022 11:24:12 +0200) Subject: Re: bug#58070: [PATCH] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> <87ill98u3m.fsf@gmail.com> <83o7v1jpb0.fsf@gnu.org> <87pmfhe0dj.fsf@gmail.com> <83h70tjls4.fsf@gnu.org> <87zgel891f.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org, visuweshm@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Robert Pluim > Cc: Visuwesh , arunisaac@systemreboot.net, > 58070@debbugs.gnu.org > Date: Tue, 27 Sep 2022 11:24:12 +0200 > > >>>>> On Tue, 27 Sep 2022 10:53:31 +0300, Eli Zaretskii said: > > Eli> In any case, my suggestion for finding composition backward is to > Eli> incrementally go back and call find-composition-internal, until it > Eli> fails to find a composition at or before point. > > or until the glyph-string id changes, no? There could be two grapheme > clusters next to each other. Yes, comparison of the results returned by find-composition-internal is necessary. > Eli> The next question will be: what would be the key to which you'd bind > Eli> this new command? > > DEL, but only for those people who want the new behaviour. The tricky > bit is then how to get the old behaviour somewhere. M- - DEL already > deletes forward, but M-0 DEL does nothing as far as I know. That's exactly the dilemma. Maybe using the zero argument is the best solution. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 06:11:47 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 10:11:48 +0000 Received: from localhost ([127.0.0.1]:52903 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od7Z5-0005IF-Ip for submit@debbugs.gnu.org; Tue, 27 Sep 2022 06:11:47 -0400 Received: from mail-pl1-f193.google.com ([209.85.214.193]:36717) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od7Z0-0005Hz-7N for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 06:11:46 -0400 Received: by mail-pl1-f193.google.com with SMTP id c24so8660272plo.3 for <58070@debbugs.gnu.org>; Tue, 27 Sep 2022 03:11:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date; bh=QVUzbiguYQTKhOTQ8pvBzTO8kbAC0YjB0AANADq60OE=; b=gtbLWPN3bhkgXD6DHl61heBa7xK46l/GvyUFDvcqUyleMzUDbt9YF3UkoGPU12rogL znGh/Gkjn8YquldUGsYjEgV5Z4CXmdqNGzGO6PykclERBawS/fDlMD9KG9XyuDcH39kf SuoWX71Te18ZDmulQoeJf4euOCDnaTtCdVb0EJUxc8NgElp0b9wclJ7Pjnvj2VWdnsu0 BMbvd2wT+ngbGfr9Op6C+H1U4eVpliuKTgw7UriCCYdQZftkW0NlEDjtH4+UO02NdDn0 U5OxUKBq5RCbcmxjpshPpuPpezdHCJnkI74ewZxK8uTXU/CFqtCd0Wd0KQz78Bqas3Vd kzCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date; bh=QVUzbiguYQTKhOTQ8pvBzTO8kbAC0YjB0AANADq60OE=; b=JGwE44WvPhwz5Nicw8e2wHT4tyBQt453hR3JAIPJk/9t7rOww53hCLbxe+HHCywk1l XVScwYhFUc+ra66gA/YQmXdcKa7Cc+fmSm7z9LsddJrhw8MvLJ1rhWJr6FAsXEW110zi Tci88twBbtwXoMMrtMZ6X8UmR1urgoEWKWMyyYvGVfeOFyDGKD24MF3rF7CoVja4TEz/ AdJi2CzautyAieCP3p3xKdxIkX9S1+8Hry3CA1/jckLLaOsZbQqyXNa+784D6JRn4dqw JldV0AS6bvHIK9ykYU0EWynhhUSr9tZjHUhpW/X6ed7CZJO8mfsSvU85ihZ+YLizTKYe 4+mA== X-Gm-Message-State: ACrzQf2CIyGp4ziyMLCONFflqFrrxENsKdPTf+RA6Be/IxnyBdBtUuyw roCjPI1jX0AKSbvb0tDXW2M= X-Google-Smtp-Source: AMsMyM6/9e0YSyoGBas5OPgFRNJM66vGSTvgcZg6X7hcxLVhAa0TYrSrVkAVbWvwI4Pe+MdYg89WWw== X-Received: by 2002:a17:902:ce8f:b0:176:e0b3:cf14 with SMTP id f15-20020a170902ce8f00b00176e0b3cf14mr25910991plg.153.1664273496635; Tue, 27 Sep 2022 03:11:36 -0700 (PDT) Received: from localhost ([118.185.152.162]) by smtp.gmail.com with ESMTPSA id e12-20020a170902d38c00b0016c09a0ef87sm1084985pld.255.2022.09.27.03.11.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Sep 2022 03:11:35 -0700 (PDT) From: Visuwesh To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83h70tjls4.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 27 Sep 2022 10:53:31 +0300") References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> <87ill98u3m.fsf@gmail.com> <83o7v1jpb0.fsf@gnu.org> <87pmfhe0dj.fsf@gmail.com> <83h70tjls4.fsf@gnu.org> Date: Tue, 27 Sep 2022 15:41:33 +0530 Message-ID: <87h70tdt4a.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [=E0=AE=9A=E0=AF=86=E0=AE=B5=E0=AF=8D=E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D = =E0=AE=9A=E0=AF=86=E0=AE=AA=E0=AF=8D=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0= =AE=B0=E0=AF=8D 27, 2022] Eli Zaretskii wrote: >> From: Visuwesh >> Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org >> Date: Tue, 27 Sep 2022 13:04:48 +0530 >>=20 >> In delete-forward-char, we use find-composition to get the extend of the >> current glyphs in terms of characters. AFAICT, find-composition does a >> forward search for the 'composition' text property. My proposal was >> that we write a find-composition variant that would do a backward search >> for the 'composition' text property which we then can make of use in >> delete-backward-char. > > You are looking at the wrong branch of the code. There's no > 'composition' text property in the case that is of interest to you; > the characters are composed by the so-called "automatic composition", > whereby Emacs decides which characters to compose without any special > text property. The relevant code is in find_automatic_composition, > which is called by find-composition-internal. My recollection of the find-composition-internal was that it eventually fell back to a text property search even for automatic compositions but I see now that's not the case. Thanks for setting me straight. > In any case, my suggestion for finding composition backward is to > incrementally go back and call find-composition-internal, until it > fails to find a composition at or before point. Thanks, I will see what I can do. > The next question will be: what would be the key to which you'd bind > this new command? I thought a user option that would make DEL delete by grapheme clusters would do the job. >> We cannot simply do backward-char then delete-forward-char and bind it >> to a command since IIRC the grapheme cluster movement happens in the >> display code? > > No, it happens in the command loop. See adjust_point_for_property, > which calls composition_adjust_point. I don't think this is important > for the issue at hand, because the point adjustment happens only after > interactive commands. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 06:15:55 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 10:15:55 +0000 Received: from localhost ([127.0.0.1]:52911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od7d4-0005QW-K7 for submit@debbugs.gnu.org; Tue, 27 Sep 2022 06:15:54 -0400 Received: from mail-pj1-f67.google.com ([209.85.216.67]:56305) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1od7d0-0005QD-6K for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 06:15:52 -0400 Received: by mail-pj1-f67.google.com with SMTP id fs14so8801801pjb.5 for <58070@debbugs.gnu.org>; Tue, 27 Sep 2022 03:15:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date; bh=DSx5zDnSg18KBf19LUtWTrd+a34Ifiz3dukrWje3nQ0=; b=q6NL5JFd1f6qAarrfr4xZb4QWZBWQ4wsoHddTH2JxND+WaDN+Fo+FTpbRbzlZsGDOq /+VArpUV1kRbHlkl9qPSDgI2Ecaoe++ZTHEiRxaj6z/IzaP3exr4iybu5huXKO0FxipH v25sqJvcco7NTiej7cbgFibDKzD4Y+Eup+zjubMaHKuIVGTWXE9JoIdzUrgYvWBpwHaI phsJPO0tNA4EzigFcfLsh03ptbVp6qm+7cfV8ljkuu5f8qvAPywHSEbfVwGeprRr0GkC e85sFwX+nosJ9rSJYGOBt+mJwrjwjBk/oONlZUw6eQ/9RseZcoIh+nkPq1ohAWakIAEM j5JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date; bh=DSx5zDnSg18KBf19LUtWTrd+a34Ifiz3dukrWje3nQ0=; b=Uk6zTh8YSYsSvIltQZIVx+7RXXeFT20l+jWXcfVEaQ+tGghLWswXhelZTHN2vd7ES7 H6gBHryiXjhG/O79Tk0zWbqkgpiGMyj/HmUcrPEgfdbjPRMImppggtyOq00Mw5RzThrY +XK1MS37q9AC3smm3yExW7S7o8vabLb6KUwPMeLjneoF6bgACBx6EvpbMyJNtoHKm3uz h6MHoLX1DuQ5DekD8V6oef1h/3+9K9n2GNtHt4h1zv/S1kbAhf54FNp09IvlEDW+CSVS nS0qfpydc61SCz/j2UiCZRF3+cn6hl9d5en5Ww/Nko+pGNUyR2ViFS9SJYYDCtUdviqw FzZg== X-Gm-Message-State: ACrzQf2c+sCdziZbxcPXFtTjprTRPP262pjQ5V57piUBXkNYmfe60yug 0oJnj9DXosTRKMnOnzGmFeE= X-Google-Smtp-Source: AMsMyM7hwTj0gSZrlnA8U9+H3F849GHZEBeqOjlZa1uXZ2LT6qgeDMFNjnUBKF/ou/5c3eAQZq59mw== X-Received: by 2002:a17:90b:38d1:b0:200:8178:1c94 with SMTP id nn17-20020a17090b38d100b0020081781c94mr3708822pjb.219.1664273744440; Tue, 27 Sep 2022 03:15:44 -0700 (PDT) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with ESMTPSA id k60-20020a17090a4cc200b002006f15ad4fsm8089791pjh.10.2022.09.27.03.15.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Sep 2022 03:15:43 -0700 (PDT) From: Visuwesh To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83edvxjlav.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 27 Sep 2022 11:03:52 +0300") 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> <83edvxjlav.fsf@gnu.org> Date: Tue, 27 Sep 2022 15:45:40 +0530 Message-ID: <87czbhdsxf.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: arunisaac@systemreboot.net, 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [=E0=AE=9A=E0=AF=86=E0=AE=B5=E0=AF=8D=E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D = =E0=AE=9A=E0=AF=86=E0=AE=AA=E0=AF=8D=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0= =AE=B0=E0=AF=8D 27, 2022] Eli Zaretskii wrote: >> 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" =3D =E0=AE=95, "d" =3D =E0=AE=89, "hd" =3D =E0=AE=95=E0=AF=81 w= hich 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/#m5b261c1a7bb0= 6c7c074fdcdb746fb53ab7af1aa1 >>=20 >> 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" =3D =E0=AE=95, "d" =3D =E0=AE= =89. 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 '=E0=AE=95', then I make Quail insert =E0=AF= =81 (instead of >> =E0=AE=89) to get =E0=AE=95=E0=AF=81. This lets you insert vowel-conson= ant 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? Yes, you are correct. However, the price is small and it is the same one Dvorak users pay when using a laptop that has a qwerty layout keyboard, so not much IMO. >> > 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? >>=20 >> 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? The problem is finding the place to put them. All the alphabet keys and all symbol keys except one or two in a standard US layout are occupied. Tamil99 does put the vowel signs under ^[LETTER] but that is simply cumbersome to type. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 16:19:31 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 20:19:31 +0000 Received: from localhost ([127.0.0.1]:56869 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odH3D-0005tN-1R for submit@debbugs.gnu.org; Tue, 27 Sep 2022 16:19:31 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:54086) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odH39-0005tC-Bl for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 16:19:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=vIlExPfJXX+4zhLAYTNSL8cwHQaKw0VQF7vNG9Ps5PQ=; b=E7XYgufdMvCtHCA6oN28vJxVUT fPmNcnCQD69NohK4PB7E6QteCFu/DAIFrYNhkDqPZWTTQ4IuW8GxFNrxJezQc0C7aCNKQr+5RMd6v kMzNNGfOZoQPe2XB6TSaLKJBklgxlnGm4SzjDXG9JJVFkO8Ei2zR4/7DSI+RkmftiSz9+fUN0yAs8 hwXZgdrHJbxoytQT0ibjRDe5OFGx16z56D3AUhWn2Pdaoo492+Bsc8cZZuGEXvt1JUBWszLkuty9U tCtzpkeiQ4b3SwolZ12VqpyU1jlBK5thlWxeCMbP0XZv/8pWe7NOVFX5iI+3dqoXu2MNGhlarPY3d f2LHxpgQ==; Received: from [192.168.2.1] (port=51434 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1odH34-000fw6-1V; Wed, 28 Sep 2022 01:49:22 +0530 From: Arun Isaac To: Visuwesh , Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <87leq5dzkt.fsf@gmail.com> 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> Date: Wed, 28 Sep 2022 01:49:17 +0530 Message-ID: <874jwso9iy.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > So in the quail-map, you have rules like "h" =3D =E0=AE=95, "d" =3D =E0= =AE=89, "hd" =3D =E0=AE=95=E0=AF=81 > 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/#m5b261c1a7bb06= c7c074fdcdb746fb53ab7af1aa1 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 [=E0=AE= =95=E0=AE=87], but if I followed it up with a [ s], I would get [=E0=AE=95=E0= =AE=BF]. In other words, the key sequences [has] and [has s] don't produce the same result. Likewise, [had] and [has 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. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 16:26:33 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 20:26:33 +0000 Received: from localhost ([127.0.0.1]:56881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odHA1-00066F-CU for submit@debbugs.gnu.org; Tue, 27 Sep 2022 16:26:33 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:48292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odH9y-000662-DW for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 16:26:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=d8PWFBlgAt5BiZBbVvFwe1SuHhd92t33caB+Wqgu5kI=; b=WJJ4W0W7UhQLQPRVAUQj6Kyp43 q2yFaxee5RxBc+Mz6NWrlWRJT/lbllEn2DAuBoRxGFVcQDL7IWi8UTFSgTXLEFkvuAU10w5dzYusD N6WP98viNl7BdqPDl+frnN1YTQVHa483S4FPiD558NlyXO9hhbHdQQGyjyYStl2ORYSzXMJK+LSec 8xgTrteuWtk8rGHjpY9awRmQM+UrOv3y3IeKqurv8snpq09/BkJBcpKelYE5b2WFGUJdORQFZd85P XF1cqKE6zEszBUr7hQHGEWc5gzXVBW8XFkDcd7AhCwHJTfJVQV3lFnc1nOgeSA5R5SQazXGymTKWO XJ7f0MOw==; Received: from [192.168.2.1] (port=52342 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1odH9u-000fwn-00; Wed, 28 Sep 2022 01:56:26 +0530 From: Arun Isaac To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83sfkdjpyf.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> Date: Wed, 28 Sep 2022 01:56:21 +0530 Message-ID: <871qrwo976.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org, visuweshm@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> Also, while the out-of-sequence vowel insertion is a very clever >> feature, it shouldn't be required at all if we handled grapheme cluster >> boundaries correctly. See >> https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries > > Well, we do, that's why cursor motion moves by grapheme clusters, > right? That makes sense and must be right. But backspace should also handle grapheme clusters. > There's a problem with the above: in some situations you want deletion > by codepoints, in others you want deletion by grapheme clusters. (It > is possible that with Tamil the former is rarely the case, but it is > definitely a frequent case with other scripts, in particular with > those that have diacriticals.) Emacs 29 solves this by having > delete-forward-char, which is usually bound to the key, > delete by grapheme clusters, while DEL (which deletes backward) and > C-d delete individual codepoints. The primary motivation for DEL to > delete by codepoints is that it allows you to make sub-grapheme > corrections to stuff you just typed, for example if you typed an > incorrect accent. > > Emacs 29 also has the composition-break-at-point variable, which you > could set non-nil, in which case will also work by > codepoints. I see. You're saying that the deletion by grapheme clusters or by codepoints may be a matter of preference. In that case, it would be nice to have a variable similar to composition-break-at-point that would enable deletion by grapheme clusters. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 16:32:17 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 20:32:17 +0000 Received: from localhost ([127.0.0.1]:56898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odHFY-0006HI-PF for submit@debbugs.gnu.org; Tue, 27 Sep 2022 16:32:17 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:60226) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odHFV-0006H7-IV for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 16:32:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=/bUw8NWOWekegM+ekRuGZDJwig6HAxj2GAEKFzz06ho=; b=QS3Ccm1Q2JcVEvvDXaC0IJ0Tgi R1JQfF1WgSP7RcXf6xBBbVpFJxa01i1uhYs38yBQINY2OyP8ddFgYSIs7K7SamR5G31yCnHZPkEam H9dh/EnfoI+ukuwnjrplfdj8Gq9otAIiPI6P/hnS37VH4u0Ojw12QHygGF1fXvdLsN3uNqHkjTr0U 7TLWIZu13gEwP2WaruLjuc+f96HlTve0YESrN/B35M7fleN+imKQJC70j3xxYIe2ldWhZxa9HBYiW hvJUd9laMvsNopCUurn76dP62t/nTYZf3OMndGyH0z5cptyb97Zxx78CZw/I+QiCWygasfzwycLD9 rSZ+zong==; Received: from [192.168.2.1] (port=52514 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1odHFS-000fxS-2G; Wed, 28 Sep 2022 02:02:10 +0530 From: Arun Isaac To: Visuwesh Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <87ill98u3m.fsf@gmail.com> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <87ill9ony7.fsf@systemreboot.net> <87ill98u3m.fsf@gmail.com> Date: Wed, 28 Sep 2022 02:02:06 +0530 Message-ID: <87wn9omud5.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Emacs 29's delete-forward-char deletes by grapheme clusters now. It > is now a job of writing a backward version of the grapheme cluster > detection code. I poked around in the C code to see how > find-composition-internal was implemented, and it looked *relatively* > straightforward to get a backward searching function working. I might > be wrong here, so I hope Eli corrects my misunderstandings. This is great news! I'm still on Emacs 28.1, and I'm looking forward to this new feature. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 16:35:02 2022 Received: (at 58070) by debbugs.gnu.org; 27 Sep 2022 20:35:02 +0000 Received: from localhost ([127.0.0.1]:56902 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odHIE-0006LM-CK for submit@debbugs.gnu.org; Tue, 27 Sep 2022 16:35:02 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:40206) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odHIC-0006Kt-F0 for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 16:35:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=cUqmA7Qwuf52AnDULEjsVD7rY5nXbpyoBIhsKLdXsoU=; b=njCsQhBId7nOjp58MaG+yAcci5 LK3e4e1eDmgTkXq95ZGqefOiO0L2QaWY+jlIwepnwZ0W56WDZ9vz8aTKMyq4SlzzO8Ywh0kidzP9B lC+LZBNAQJQnzgyqSpc1s6bfbO16JgnCD+sj4cU2U9BT6Gh7fyj9LtEycOUynNhyeZ+17QG0noDAN Dhdo1c22k5RdxSPgLmypnC7iqt245ZaaIjKtlzrGJ7cheHwSr1SG+83OGx5SjROAMmNPlcY30S1HO GmfE9+JTp0bLaZVhNkV6+NmZk2+YJKIGVKGE6emsm3Z4Us7IXzrmpu+92CEos4DKju/21+L3/3TTd QjzKfMwQ==; Received: from [192.168.2.1] (port=51778 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1odHI2-000fxh-2k; Wed, 28 Sep 2022 02:04:50 +0530 From: Arun Isaac To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83r0zxjpuu.fsf@gnu.org> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <20220925100244.13482-1-arunisaac@systemreboot.net> <87h70vsmyd.fsf@gmail.com> <8335cfmu5h.fsf@gnu.org> <87leq7r163.fsf@gmail.com> <83y1u7leh9.fsf@gnu.org> <87edvzr02i.fsf@gmail.com> <83v8pbla96.fsf@gnu.org> <87fsgdonru.fsf@systemreboot.net> <83r0zxjpuu.fsf@gnu.org> Date: Wed, 28 Sep 2022 02:04:35 +0530 Message-ID: <87tu4smu90.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org, visuweshm@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> I do agree with Visuwesh that we should not offer two separate input >> methods---one for each implementation. Our code is but two different >> implementations of *exactly* the same input method. The differences in >> behaviour are far too subtle and would only confuse the user. > > I thought they assumed different keyboard layout? Not sure what exactly you mean by "keyboard layout" in this context. But, if you're talking about qwerty, dvorak, etc., then using quail-keyboard-layout, both implementations can support any keyboard layout. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 27 22:31:17 2022 Received: (at 58070) by debbugs.gnu.org; 28 Sep 2022 02:31:17 +0000 Received: from localhost ([127.0.0.1]:57108 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odMqz-0000Ny-5H for submit@debbugs.gnu.org; Tue, 27 Sep 2022 22:31:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55316) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1odMqv-0000Nk-JE for 58070@debbugs.gnu.org; Tue, 27 Sep 2022 22:31:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58396) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1odMqo-0004oK-JJ; Tue, 27 Sep 2022 22:31:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=7Hn70EUZAiD66wPrTjtyIB+WRk2ItNlJf0HrBhH/WTA=; b=gfo9srk3qQfs tUqam02JpEtZU+maZ1Dy8YKPKf7mNK4IbHhrvLBiil3VNWmCq849TusXuwzJtdxrReDdwaNxpAIOA D6tFiIDQNcC6uY2fLATQvVlr3qgk0DxPsNTnHENXe2fQN8liMktT1eV/13vHBJLvyxH9xz432ibZh kWpaGNoqophYDoZ7utk99ovXB6w5LtPGpMVjggIZLfrV6isHbSIpdo1munl9Kblv8di6ucI+s4kIo x/7UY+/GRf+KesY23hRne8eJycGGXQUPOBIkQ+jx+PemXSJ7zJWU8njNB4r2qlla5WpSgHHiZBFID KiNELctnOFryi0m9/PK2iw==; Received: from [87.69.77.57] (port=3869 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 1odMqO-0001n1-1q; Tue, 27 Sep 2022 22:30:54 -0400 Date: Wed, 28 Sep 2022 05:30:33 +0300 Message-Id: <83sfkci62e.fsf@gnu.org> From: Eli Zaretskii To: Arun Isaac In-Reply-To: <871qrwo976.fsf@systemreboot.net> (message from Arun Isaac on Wed, 28 Sep 2022 01:56:21 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method 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> <871qrwo976.fsf@systemreboot.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org, visuweshm@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Arun Isaac > Cc: visuweshm@gmail.com, 58070@debbugs.gnu.org > Date: Wed, 28 Sep 2022 01:56:21 +0530 > > > There's a problem with the above: in some situations you want deletion > > by codepoints, in others you want deletion by grapheme clusters. (It > > is possible that with Tamil the former is rarely the case, but it is > > definitely a frequent case with other scripts, in particular with > > those that have diacriticals.) Emacs 29 solves this by having > > delete-forward-char, which is usually bound to the key, > > delete by grapheme clusters, while DEL (which deletes backward) and > > C-d delete individual codepoints. The primary motivation for DEL to > > delete by codepoints is that it allows you to make sub-grapheme > > corrections to stuff you just typed, for example if you typed an > > incorrect accent. > > > > Emacs 29 also has the composition-break-at-point variable, which you > > could set non-nil, in which case will also work by > > codepoints. > > I see. You're saying that the deletion by grapheme clusters or by > codepoints may be a matter of preference. Not preference, but the specific use case. > In that case, it would be nice to have a variable similar to > composition-break-at-point that would enable deletion by grapheme > clusters. We already do have that: does that in Emacs 29. From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 12 04:40:16 2022 Received: (at 58070) by debbugs.gnu.org; 12 Oct 2022 08:40:16 +0000 Received: from localhost ([127.0.0.1]:55645 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oiXHk-0008NR-7Q for submit@debbugs.gnu.org; Wed, 12 Oct 2022 04:40:16 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:56884) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oiXHg-0008NC-LY for 58070@debbugs.gnu.org; Wed, 12 Oct 2022 04:40:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=mA9TOPAJQAsepsaVyoFbB8keXRTviK43Gkp/ks+7DHc=; b=nuHp2E99H8X4MGmdChxo2Riz/6 lno7cX+3fGLE2y7ESi/wmFexJuJd1SEG4NRj/0dmM6KTSabmA6fbIhK30+XlItk1wUO12kZZ4hfac R0FHRbScjMIMdfzcoM5QjP1L5ygT3hX0VEW9ox94rtRE40TDuG+0yQZ7bOPdM4+++JPpZK15umvqg O7C7kzVaXk81AOiyRUvZOwg7jJT0ckzxyFRVULoXVVluUqPIhzt7s+64YG2mHsVdg3hcfqfdYOuQM cKfPyrc37M/J7cUAwvdlzyyoqvBd31kKqMzWyl5jLVP3RrBu3RQmKTx4xaqSSxUM28CI0lv5RR+gc uqRUjMSQ==; Received: from [192.168.2.1] (port=6404 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1oiXHc-0001nm-2E; Wed, 12 Oct 2022 14:10:08 +0530 From: Arun Isaac To: Eli Zaretskii , Visuwesh Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <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> <83edvxjlav.fsf@gnu.org> Date: Wed, 12 Oct 2022 14:10:04 +0530 Message-ID: <87sfjte8pn.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > 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? tamil99 users don't think of the characters on the qwerty keyboard when they're typing. They operate on a mental map of the keyboard---something like https://commons.wikimedia.org/wiki/File:Tamil99_Key_Bord_foto_of_Thamizhpparithi_Maari.jpg So, to be honest, the suggestion of possible next candidates is not very informative for the tamil99 input method. In fact, it's quite a distraction. So, I wouldn't mind disabling the suggestions if possible. Is it possible? From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 12 04:42:06 2022 Received: (at 58070) by debbugs.gnu.org; 12 Oct 2022 08:42:06 +0000 Received: from localhost ([127.0.0.1]:55649 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oiXJQ-0008QD-Kz for submit@debbugs.gnu.org; Wed, 12 Oct 2022 04:42:06 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:52062) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oiXJO-0008Q2-Hh for 58070@debbugs.gnu.org; Wed, 12 Oct 2022 04:41:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Fj6VWJCOsRTDMHQZLAhXNui2kzftw3mVN9LVJFqbYk8=; b=dX16hv5Pza4F0RJ9Nok7ifIFs1 OiyxwLwCEkEyJBQRwJrTVdJb6+65O4yaG0hpO9SH3+RDZryXrIpDNXxA9reBHAWp7N9j0l+cK3sFv F9a7o4lmJ2FgoosZm6R4nvm5A7t0hK5U0JznrT7SgDxhV0EJr5ckFI1is4bQd8jQI2OmkiH/0yL+m wEhVp8i2q6r6XNvP8TktaBplkHWA69u7UYtiEwqr+xV6TRVRhqAyI1reBfVstBVzGRoyM5KRZ21RM 9YKrpO9CLQuDTGeHBBZHLBobpzTu0HGPnnQk+FXdSAHtsPOPiLpVNZVyEhVfgbrYw99I5DqrDtz8k Xit29ATw==; Received: from [192.168.2.1] (port=6664 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1oiXJM-0001nx-0D; Wed, 12 Oct 2022 14:11:56 +0530 From: Arun Isaac To: Eli Zaretskii Subject: Re: bug#58070: [PATCH 0/1] Add tamil99 input method In-Reply-To: <87sfkfpuuc.fsf@systemreboot.net> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <83bkr3n4nk.fsf@gnu.org> <87sfkfpuuc.fsf@systemreboot.net> Date: Wed, 12 Oct 2022 14:11:40 +0530 Message-ID: <87pmexe8mz.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> Yes, I've sent the assignment request form off-list. > > I've filled the form and sent it to assign@gnu.org. Thanks! My copyright assignment is now complete. May we proceed with applying this patch? Thanks! From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 12 09:55:04 2022 Received: (at 58070) by debbugs.gnu.org; 12 Oct 2022 13:55:04 +0000 Received: from localhost ([127.0.0.1]:56358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oicCN-0005w1-M5 for submit@debbugs.gnu.org; Wed, 12 Oct 2022 09:55:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42880) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oicCL-0005tC-08 for 58070@debbugs.gnu.org; Wed, 12 Oct 2022 09:55:02 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48560) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oicCE-0007cC-55; Wed, 12 Oct 2022 09:54:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=4sa/9/N3BmvTTKv7M4zRzPjUYdEcushGo+F0OQZU5eA=; b=CvxgVJEct128 3iNPkDbhBwlSsYCIXmHBQCFdh6wA7TfY+HntDwjPIMea1wc2ghn5j4UE+4EiA+bFp8m6obu9xKhYo bg1+Fda6b3F28YlRvi1zhVFu57vFGwU2WeQTAm+wobcjKFBNCFZ4GeKJehoZLgjbCd5+VUdcjdUcr 5Tm4HzqfHBJe68YccxMOkJ5GVFnehH46JryahF+2csAB3C2xaQmX8RT50Yclu0Z9owe3RKJA7KuBc P7SBoC4RHI/cfibcW83HzxweLQp/t1s2MXMcfqY+EGL+KTtrMAqtuk/EJMj/0qusyavCl4mRs41WR P5dQ3Dvf3NJuMmqfsKfkDA==; Received: from [87.69.77.57] (port=2294 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 1oicCD-0001Yl-Im; Wed, 12 Oct 2022 09:54:53 -0400 Date: Wed, 12 Oct 2022 16:55:05 +0300 Message-Id: <831qrdcfk6.fsf@gnu.org> From: Eli Zaretskii To: Arun Isaac In-Reply-To: <87pmexe8mz.fsf@systemreboot.net> (message from Arun Isaac on Wed, 12 Oct 2022 14:11:40 +0530) Subject: Re: bug#58070: [PATCH 0/1] Add tamil99 input method References: <20220925100020.13229-1-arunisaac@systemreboot.net> <83bkr3n4nk.fsf@gnu.org> <87sfkfpuuc.fsf@systemreboot.net> <87pmexe8mz.fsf@systemreboot.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Arun Isaac > Cc: 58070@debbugs.gnu.org > Date: Wed, 12 Oct 2022 14:11:40 +0530 > > > >> Yes, I've sent the assignment request form off-list. > > > > I've filled the form and sent it to assign@gnu.org. Thanks! > > My copyright assignment is now complete. May we proceed with applying > this patch? Which patch is that? AFAIR, the discussion wasn't completed, or at least I didn't hear an agreement that your IM should be installed as the only one. In addition, I'd rather we had Tamil input methods in a single file, so how about adding your input method to indian.el? From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 12 10:00:32 2022 Received: (at 58070) by debbugs.gnu.org; 12 Oct 2022 14:00:32 +0000 Received: from localhost ([127.0.0.1]:58114 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oicHg-0006X0-Gu for submit@debbugs.gnu.org; Wed, 12 Oct 2022 10:00:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40762) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oicHe-0006Wo-Nw for 58070@debbugs.gnu.org; Wed, 12 Oct 2022 10:00:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42316) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oicHX-0000Tn-IJ; Wed, 12 Oct 2022 10:00:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=nqBuNDJdUOSupKy8UqUNt3anYcCu/M0G0bkv29r3mbg=; b=Lp6jTEbXs/ZB 5I3DTw/jqlydXhvpallygmr/sZI7Yx8DZvDblqJ881Ekk8S2iptDT8DXMwILvvvJFMJyAxxaJ922c dwKxzJdDsoozjwlagXxg0X0gQIRsXaRFI/Kvm796cuefCTG1ZolvPPjyS1jfq83xNhzbF8whjmJgi Pw1HCdiS6GcYqgGqZG49qsqb23YiBESdj+Y9rilb+wq+gmuoE2TCzZSLPZA0Ea5HEYgxXSFxX6DTm ve6zVAOPQWtUlcmFnnIAMnqknxxv+lcEHX7QjJkjkYuWK/4UzOraPhD9FWjScUhpkTYAwowZFyFmU 37oAAYTF2/V5L3w6iEVWSg==; Received: from [87.69.77.57] (port=2622 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 1oicHP-00083E-P9; Wed, 12 Oct 2022 10:00:16 -0400 Date: Wed, 12 Oct 2022 17:00:28 +0300 Message-Id: <83zge1b0qr.fsf@gnu.org> From: Eli Zaretskii To: Arun Isaac In-Reply-To: <87sfjte8pn.fsf@systemreboot.net> (message from Arun Isaac on Wed, 12 Oct 2022 14:10:04 +0530) Subject: Re: bug#58070: [PATCH] Add tamil99 input method 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> <83edvxjlav.fsf@gnu.org> <87sfjte8pn.fsf@systemreboot.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org, visuweshm@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Arun Isaac > Cc: 58070@debbugs.gnu.org > Date: Wed, 12 Oct 2022 14:10:04 +0530 > > > > 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? > > tamil99 users don't think of the characters on the qwerty keyboard when > they're typing. They operate on a mental map of the keyboard---something > like > https://commons.wikimedia.org/wiki/File:Tamil99_Key_Bord_foto_of_Thamizhpparithi_Maari.jpg > So, to be honest, the suggestion of possible next candidates is not very > informative for the tamil99 input method. Please don't forget that input methods are not only for native speakers of the respective languages, they are also for others. And those others do benefit from the display of the next candidates. > In fact, it's quite a distraction. So, I wouldn't mind disabling the > suggestions if possible. Is it possible? Try setting input-method-verbose-flag to the nil value. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 13 09:47:46 2022 Received: (at control) by debbugs.gnu.org; 13 Oct 2022 13:47:47 +0000 Received: from localhost ([127.0.0.1]:60030 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oiyYs-0005E8-Mp for submit@debbugs.gnu.org; Thu, 13 Oct 2022 09:47:46 -0400 Received: from mail-oi1-f177.google.com ([209.85.167.177]:35330) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oiyYq-0005Ck-K9 for control@debbugs.gnu.org; Thu, 13 Oct 2022 09:47:44 -0400 Received: by mail-oi1-f177.google.com with SMTP id u15so1783272oie.2 for ; Thu, 13 Oct 2022 06:47:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=6jyWiaBBhDgWvrFD6ZYRBDPwvMO5cRP4DRWCNKkAkk8=; b=e41ZQwvgf7FetssJVuVwf0CPqTDL8FJ5yKk8iRsVtxLjrgudCwQi7zfKpxlVl9z7g9 bEzvmOK8im/tb13KIw2q85SDS3+FVrzvVHPXOufiipukA5K5jr9qrHRcH+zidnb066nJ dsxOQ2t4ZCcdjo3Y6GusoRKvv3BA3TpTjSORGzagWr5zNH0xY0rAFo74sXl9/Tq2txbi uPq7X3+TGNuWX/GbVXhlLCVdqha5Q2ouBiB3oga7bvkELFVfD/V0y/NVHltXgrs+Xwbc Ords+O4wwYe04hFjU9j9IeF5UFdxzeDWN0NihovvM2X5Nx7j02mXAhPY5CD+8AjmGung i/6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=6jyWiaBBhDgWvrFD6ZYRBDPwvMO5cRP4DRWCNKkAkk8=; b=mQovVqeEdj7SaBvnk/nJPNJceSrDqA+8Q/2I6uef47hWb3mEMryqPQGLHYFCztZrbW 4cMG9KI2Chgyid6kjbfFDxMa4O+3Mkai62UFX2K/1aZuwzWOETLXegB9bzh56DBUIOBz h57ZSI7MAtUth18FXux4huPAGIjbwO1Vwn0b48gm4r3C/KkrEYUJUReHzYPDFEZf/S/U Osfo1N36xBeQV/arzeyBieBTAG5X0ZtRLkup395W1azug2uBTYdUC0iu8ZfcQvA1QtHZ cClSPmsryN++2nAKz2a7YXg2yiy7WCtQ8+0Y7nl840adIqp5l8gWneogZPbvs69+b8+P ISBg== X-Gm-Message-State: ACrzQf3gfRCeCo68lap+oytWl3x/+P+WBOiRpiPrWw79w7zxhd8wLeVX KVdUqCJYYIbV4rc1x0gyYTPsVEU0dDUbAIQpjSPLEc0S X-Google-Smtp-Source: AMsMyM75fktMclDC7cQUg7FVR2X8v8WivuWks1YCg21xojvSsdAVYVcXJnQKatcU3irFKzfq/mvobYzyxmkcMM0mz7A= X-Received: by 2002:a05:6808:d51:b0:354:fecd:6d11 with SMTP id w17-20020a0568080d5100b00354fecd6d11mr1465684oik.92.1665668859272; Thu, 13 Oct 2022 06:47:39 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 13 Oct 2022 15:47:38 +0200 From: Stefan Kangas X-Hashcash: 1:20:221013:control@debbugs.gnu.org::c6DmSdXEael3KZ0j:0ixf MIME-Version: 1.0 Date: Thu, 13 Oct 2022 15:47:38 +0200 Message-ID: Subject: control message for bug #58070 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) severity 58070 wishlist quit From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 15 04:23:34 2022 Received: (at 58070) by debbugs.gnu.org; 15 Oct 2022 08:23:34 +0000 Received: from localhost ([127.0.0.1]:39337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojcSE-0003ab-0i for submit@debbugs.gnu.org; Sat, 15 Oct 2022 04:23:34 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:34224) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojcSA-0003aR-B0 for 58070@debbugs.gnu.org; Sat, 15 Oct 2022 04:23:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=BbkDG8Hf6XQFbajOKAqkDct4QEGD/qaO3rUkTHkvgGM=; b=AVQFa+S/Ni0h2C8Qn8EuHA3xPe pA/JdtxM9ICzX1XP5HmG4SzqEwWGGhzB6cb2RXTXf3XJkqGzBXDK0KTFW2U5SiPmbIFCV6Ps9ER6/ urpH/V2KJQcgGdb314LS+b/SowLU/FQbvh84W9qPQQKeux2k5jwytOWCd1dxSOvFFO1ArmDR4rchT 2a0jMyql+4ncq+8SkBMpM7maf6cPy1h5ZsmKcHNug47Yo0KtyK88ctg5Pzg0uHmQcM+9CwHzyiZ8+ O0XzZ0vduoyTZL74uXfmmP4iBxPik8pXIiWyWmfW7iW8Wp8uVmXdyVF6P4U56ye1rWWbAwgr65hUk hEskZNAA==; Received: from [192.168.2.1] (port=6118 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ojcS6-000ATK-2l; Sat, 15 Oct 2022 13:53:26 +0530 From: Arun Isaac To: Eli Zaretskii Subject: Re: bug#58070: [PATCH] Add tamil99 input method In-Reply-To: <83zge1b0qr.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> <83edvxjlav.fsf@gnu.org> <87sfjte8pn.fsf@systemreboot.net> <83zge1b0qr.fsf@gnu.org> Date: Sat, 15 Oct 2022 13:53:26 +0530 Message-ID: <874jw58phd.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: 58070@debbugs.gnu.org, visuweshm@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> In fact, it's quite a distraction. So, I wouldn't mind disabling the >> suggestions if possible. Is it possible? > > Try setting input-method-verbose-flag to the nil value. Thanks! input-method-verbose-flag and input-method-highlight-flag are exactly what I was looking for. From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 15 04:34:37 2022 Received: (at 58070) by debbugs.gnu.org; 15 Oct 2022 08:34:37 +0000 Received: from localhost ([127.0.0.1]:39369 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojccu-0003uY-SA for submit@debbugs.gnu.org; Sat, 15 Oct 2022 04:34:37 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:33846) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojccs-0003uM-L9 for 58070@debbugs.gnu.org; Sat, 15 Oct 2022 04:34:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=9DZDooJxEHQxMbUBBMLThshCpQeXakgRjkkgna62Nk0=; b=O6h77zSugS2hOtmi3zzY6rY24H VF6RTz2auQZAbIEaO3af5DZcXPp0l5gKGEAzVFcmruisvuhCQdaUCWVcjcHLpdKny/HdNUm72j8An ToZ6iNmvZcc6ZaIh6Zo7fkgu6mWHwkycPNv5LpuE/7jUkH/C6yb3BY67PP6DUSA/5buVLGhggF6vh F2C/RyT+e3KefXE051uSwfnm1KQQMaZApxR0KhfK/5zh9BkmPrg3MPekTMdHf5LVBaj+XGX4vyLPX A+A2Uj399OxE/5h2ETIaK29Chh30qfQPmY7MKJVn1R44wVMJ31OTBjlRxoOvuV76ZFXmHM945Uuz/ R8tuHY2A==; Received: from [192.168.2.1] (port=5442 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ojccn-000AW8-2X; Sat, 15 Oct 2022 14:04:29 +0530 From: Arun Isaac To: Eli Zaretskii Subject: Re: bug#58070: [PATCH 0/1] Add tamil99 input method In-Reply-To: <831qrdcfk6.fsf@gnu.org> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <83bkr3n4nk.fsf@gnu.org> <87sfkfpuuc.fsf@systemreboot.net> <87pmexe8mz.fsf@systemreboot.net> <831qrdcfk6.fsf@gnu.org> Date: Sat, 15 Oct 2022 14:04:29 +0530 Message-ID: <871qr98oyy.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: Visuwesh , 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Which patch is that? AFAIR, the discussion wasn't completed, or at > least I didn't hear an agreement that your IM should be installed as > the only one. In https://issues.guix.gnu.org/58070#25 , I made the case that Visuwesh's implementation does not have enough information to work consistently. So, I thought the matter was settled. But sure, let's wait for Visuwesh to chime in. > In addition, I'd rather we had Tamil input methods in a single file, > so how about adding your input method to indian.el? The indian.el file is likely to get very crowded in the future. But sure, I'll move tamil99 into indian.el. Patch follows in a separate mail soon. From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 15 05:16:29 2022 Received: (at 58070) by debbugs.gnu.org; 15 Oct 2022 09:16:29 +0000 Received: from localhost ([127.0.0.1]:39427 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojdHQ-0007HA-Ls for submit@debbugs.gnu.org; Sat, 15 Oct 2022 05:16:29 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:43724) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojdHO-0007Gz-6l for 58070@debbugs.gnu.org; Sat, 15 Oct 2022 05:16:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=2ElbJIZkErG/fZ7VLiVL0P54SKyQ+iNvs+gSrNd3qwY=; b=nRux+BBmIJ4Q6ian+zF0LcRijd O3ooquJF9ImVQWIoJM1nY9X1LKBhinuUC/2KIxeneHO2Nz6Nq2/7QPQ+nAs1WD4CTPhJfS7FPEv6a eF3UlU3y2O+gGcC9W5z0tscyJtN4CoCW2wH4tPdBjjKNt0Z6qab2C/q6zLll58q5QMLOLXX7rZfgO 9ea+i67HsequKlVho6mB9MKzvwSViA8TCCtUGL77yzdFF/ld5KQWctAq3w9qvUpGHDuze3VGeWMN5 YlSPP4TuZ4Vsmrf2JwswKsc5+lYMNJmmJkiiiZ0e4GnPaowwv+6g14fWWBhljrR93mBAEQg2LN/mf twamZoqQ==; Received: from [192.168.2.1] (port=5850 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ojdHI-000AZt-0e; Sat, 15 Oct 2022 14:46:20 +0530 From: Arun Isaac To: Arun Isaac , Eli Zaretskii Subject: [PATCH v2] Add tamil99 input method Date: Sat, 15 Oct 2022 14:46:10 +0530 Message-Id: <20221015091610.1941-1-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.37.3 In-Reply-To: <871qr98oyy.fsf@systemreboot.net> References: <871qr98oyy.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: Visuwesh , 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * lisp/leim/quail/indian.el: Require pcase and seq. ("tamil99"): New input method. * etc/NEWS: Mention new tamil99 input method. --- etc/NEWS | 3 + lisp/leim/quail/indian.el | 161 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index 3d1af8bd6f..bcdc991ea3 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1279,6 +1279,9 @@ The default input method for the Tamil language environment is now change the input method's translation rules, customize the user option 'tamil-translation-rules'. +--- +*** New tamil99 input method for the Tamil language + * Changes in Specialized Modes and Packages in Emacs 29.1 diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el index 431d8369c1..30b521e389 100644 --- a/lisp/leim/quail/indian.el +++ b/lisp/leim/quail/indian.el @@ -30,6 +30,8 @@ ;;; Code: +(require 'pcase) +(require 'seq) (require 'quail) (require 'ind-util) @@ -699,6 +701,165 @@ is." "tamil-inscript-digits" "Tamil" "TmlISD" "Tamil keyboard Inscript with Tamil digits support.") +;; Tamil99 input method +;; +;; Tamil99 is a keyboard layout and input method that is specifically +;; designed for the Tamil language. Vowels and vowel modifiers are +;; input with your left hand, and consonants are input with your right +;; hand. See https://en.wikipedia.org/wiki/Tamil_99 +;; +;; தமிழ்99 உள்ளீட்டு முறை +;; +;; தமிழ்99 தமிழுக்கென்றே உருவாக்கப்பட்ட விசைப்பலகை அமைப்பும் உள்ளீட்டு முறையும் +;; ஆகும். உயிர்களை இடக்கையுடனும் மெய்களை வலக்கையுடனும் தட்டச்சிடும்படி +;; அமைக்கப்பட்டது. https://ta.wikipedia.org/wiki/%E0%AE%A4%E0%AE%AE%E0%AE%BF%E0%AE%B4%E0%AF%8D_99 +;; காண்க. + +(quail-define-package + "tamil99" "Tamil" "தமிழ்99" + t "Tamil99 input method" + nil t t t t nil nil nil nil nil t) + +(defconst tamil99-vowels + '(("q" "ஆ") + ("w" "ஈ") + ("e" "ஊ") + ("r" "ஐ") + ("t" "ஏ") + ("a" "அ") + ("s" "இ") + ("d" "உ") + ("g" "எ") + ("z" "ஔ") + ("x" "ஓ") + ("c" "ஒ")) + "Mapping for vowels.") + +(defconst tamil99-vowel-modifiers + '(("q" "ா") + ("w" "ீ") + ("e" "ூ") + ("r" "ை") + ("t" "ே") + ("a" "") + ("s" "ி") + ("d" "ு") + ("g" "ெ") + ("z" "ௌ") + ("x" "ோ") + ("c" "ொ") + ("f" "்")) + "Mapping for vowel modifiers.") + +(defconst tamil99-vallinam-consonants + '(("h" "க") + ("[" "ச") + ("o" "ட") + ("l" "த") + ("j" "ப") + ("u" "ற")) + "Mapping for vallinam consonants.") + +(defconst tamil99-mellinam-consonants + '(("b" "ங") + ("]" "ஞ") + ("p" "ண") + (";" "ந") + ("k" "ம") + ("i" "ன")) + "Mapping for mellinam consonants.") + +(defconst tamil99-idaiinam-consonants + '(("'" "ய") + ("m" "ர") + ("n" "ல") + ("v" "வ") + ("/" "ழ") + ("y" "ள")) + "Mapping for idaiinam consonants.") + +(defconst tamil99-grantham-consonants + '(("Q" "ஸ") + ("W" "ஷ") + ("E" "ஜ") + ("R" "ஹ")) + "Mapping for grantham consonants.") + +(defconst tamil99-consonants + (append tamil99-vallinam-consonants + tamil99-mellinam-consonants + tamil99-idaiinam-consonants + tamil99-grantham-consonants) + "Mapping for all consonants.") + +(defconst tamil99-other + `(("T" ,(vector "க்ஷ")) + ("Y" ,(vector "ஶஂரீ")) + ("O" "[") + ("P" "]") + ("A" "௹") + ("S" "௺") + ("D" "௸") + ("F" "ஃ") + ("K" "\"") + ("L" ":") + (":" ";") + ("\"" "'") + ("Z" "௳") + ("X" "௴") + ("C" "௵") + ("V" "௶") + ("B" "௷") + ("M" "/")) + "Mapping for miscellaneous characters.") + +;; உயிர் +;; vowel +(mapc (pcase-lambda (`(,vowel-key ,vowel)) + (quail-defrule vowel-key vowel)) + tamil99-vowels) + +(mapc (pcase-lambda (`(,consonant-key ,consonant)) + ;; அகர உயிர்மெய் + ;; consonant with agaram (அ) + (quail-defrule consonant-key consonant) + ;; மெய்யொற்று பின் அகர உயிர்மெய் + ;; pulli on double consonant + (quail-defrule (concat consonant-key consonant-key) + (vector (concat consonant "்" consonant))) + (mapc (pcase-lambda (`(,vowel-key ,vowel-modifier)) + ;; உயிர்மெய் + ;; vowel+consonant + (quail-defrule (concat consonant-key vowel-key) + (vector (concat consonant vowel-modifier))) + ;; மெய்யொற்று பின் உயிர்மெய் + ;; vowel+consonant after double consonant + (quail-defrule (concat consonant-key consonant-key vowel-key) + (vector (concat consonant "்" consonant vowel-modifier)))) + tamil99-vowel-modifiers)) + tamil99-consonants) + +(seq-mapn (pcase-lambda (`(,mellinam-consonant-key ,mellinam-consonant) + `(,vallinam-consonant-key ,vallinam-consonant)) + ;; மெல்லினம் பின் வல்லினம் + ;; vallinam after mellinam + (quail-defrule (concat mellinam-consonant-key vallinam-consonant-key) + (vector (concat mellinam-consonant "்" vallinam-consonant))) + (mapc (pcase-lambda (`(,vowel-key ,vowel-modifier)) + ;; மெல்லின ஒற்றொட்டிய வல்லினம் பின் உயிர்மெய் + ;; vowel+consonant after mellinam-vallinam consonant + (quail-defrule (concat mellinam-consonant-key vallinam-consonant-key vowel-key) + (vector (concat mellinam-consonant "்" vallinam-consonant vowel-modifier)))) + tamil99-vowel-modifiers)) + tamil99-mellinam-consonants + tamil99-vallinam-consonants) + +;; பிற வரியுருக்கள் +;; other characters +(mapc (pcase-lambda (`(,key ,translation)) + (quail-defrule key translation)) + tamil99-other) + ;; Probhat Input Method (quail-define-package "bengali-probhat" "Bengali" "BngPB" t -- 2.37.3 From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 15 10:42:16 2022 Received: (at 58070) by debbugs.gnu.org; 15 Oct 2022 14:42:16 +0000 Received: from localhost ([127.0.0.1]:42386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojiMh-0000uB-Ko for submit@debbugs.gnu.org; Sat, 15 Oct 2022 10:42:15 -0400 Received: from mail-ej1-f67.google.com ([209.85.218.67]:42650) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojiMg-0000tz-Tc for 58070@debbugs.gnu.org; Sat, 15 Oct 2022 10:42:15 -0400 Received: by mail-ej1-f67.google.com with SMTP id y14so16075404ejd.9 for <58070@debbugs.gnu.org>; Sat, 15 Oct 2022 07:42:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=CdezMudE3qK8Ga7CDipSDQh2PgoEb7Uhlok63u/6CMQ=; b=UWPB5YlJy7Di4aDBeh6UTl1B/9Z0pNx4XIcrTPnD/QOBSRQDIzZJ2kt7doOTiYVQo9 XHjywf/aA+vRl5JvSXWn7/FLSvOPhVzhEA8QQMsL8woXW7kVFc+Otlw+kHwgeSGwmIxU TWlTwrKZlEui6XahgER1M7b8EvH1SGAJbAYB6oz2yOqykP0cLjYrjMrFRxhS4JxEaJeR 5IcOIx/M1S+SYFUz83wR/V6yRlXnVSIZ7Wkgax0SDZXDtyhx5tKIP2w5Xplz37Pgz87s ephFSJmnQfIVX464mSBbRQExgc6Vl4+wrFxMRb+X7QUICBLv/V2Wfp4kzbmfUfEM44p8 T12g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CdezMudE3qK8Ga7CDipSDQh2PgoEb7Uhlok63u/6CMQ=; b=xtc1I/tfgobwblwKpiOcgKVEEgkQf9srcTMKE9EQgfH4IjTTJPwRGhqsWGWXBpanhP CL6mqR32hPbZZoGELoXuY74rDYZaXzBWTRgy4bUNRyPcKuQRguDQmn6TybW5eDtxxE77 CmLnlBqHRazDd/IB/orqpEfbvw3/l3YIr9oGvYH7nlzHUp4MDdoPLbNGfoW52aRxcjKa OGA0Xs9T3xgyEPm+w3W4WhKFyWzjI3YAoZdM9oSYgmyfWOx1hFmYdXc9aV10SJewZFFF bjfmHj/SlH3Uo6mnR5A4FScn4X41wiyS/Uh7HFtrhu0gxwsRb8gkXytS9hRq7AtkvwBC kIzQ== X-Gm-Message-State: ACrzQf0yjRtg+errF8RhfH2M1brlDy5WAN6FcCeRL33FDeOV2lvuHuAg 6zHrrvSKHrBjs9MK0EI+rGws+MGgxAWtSQiqkElBRwu+ X-Google-Smtp-Source: AMsMyM5G55GmwGA8a36cnhAsH+Nqqd/WJJCrjWTDqIx7mHL0rZ/kco/xerYLDT/+zxdKU23UjzRzd/n9NTxwY02krpY= X-Received: by 2002:a17:906:1ec5:b0:78d:b3d1:183b with SMTP id m5-20020a1709061ec500b0078db3d1183bmr2209494ejj.709.1665844929305; Sat, 15 Oct 2022 07:42:09 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:906:c196:b0:781:29e2:91d2 with HTTP; Sat, 15 Oct 2022 07:42:08 -0700 (PDT) In-Reply-To: <871qr98oyy.fsf@systemreboot.net> References: <20220925100020.13229-1-arunisaac@systemreboot.net> <83bkr3n4nk.fsf@gnu.org> <87sfkfpuuc.fsf@systemreboot.net> <87pmexe8mz.fsf@systemreboot.net> <831qrdcfk6.fsf@gnu.org> <871qr98oyy.fsf@systemreboot.net> From: Visuwesh Date: Sat, 15 Oct 2022 20:12:08 +0530 Message-ID: Subject: Re: bug#58070: [PATCH 0/1] Add tamil99 input method To: Arun Isaac Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: Eli Zaretskii , 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) [ I'm sending through webmail since msmtp fails to send the message, apologies for any mishaps. ] [=E0=AE=9A=E0=AE=A9=E0=AE=BF =E0=AE=85=E0=AE=95=E0=AF=8D=E0=AE=9F=E0=AF=8B= =E0=AE=AA=E0=AE=B0=E0=AF=8D 15, 2022] Arun Isaac wrote: >> Which patch is that? AFAIR, the discussion wasn't completed, or at >> least I didn't hear an agreement that your IM should be installed as >> the only one. > > In https://issues.guix.gnu.org/58070#25 , I made the case that > Visuwesh's implementation does not have enough information to work > consistently. So, I thought the matter was settled. But sure, let's wait > for Visuwesh to chime in. I currently don't have enough time to really evaluate the differences between our layouts however, my layout can lead to really unexpected results in certain cases and it is not tested well enough. So I would prefer for Arun's patch to go in. One comment: why not use link to the Tamil99 keyboard layout spec [1] and change "vowel+consonant after mellinam-vallinam consonant" to say "vowel+consonant after hard-soft consonant" like it says in the spec to help future maintainers who will read this code? >> In addition, I'd rather we had Tamil input methods in a single file, >> so how about adding your input method to indian.el? > > The indian.el file is likely to get very crowded in the future. But > sure, I'll move tamil99 into indian.el. Patch follows in a separate mail > soon. I don't think it is too crowded, FWIW. The input methods are sectioned off based on the language. 1. http://www.tamilvu.org/ta/tkbd-index-341488 (direct link http://www.tamilvu.org/tkbd/Tamil_Unicode_G.O.zip). From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 18 03:11:46 2022 Received: (at 58070) by debbugs.gnu.org; 18 Oct 2022 07:11:46 +0000 Received: from localhost ([127.0.0.1]:51020 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okglN-0004il-Vl for submit@debbugs.gnu.org; Tue, 18 Oct 2022 03:11:46 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:49156) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okglL-0004ib-Ej for 58070@debbugs.gnu.org; Tue, 18 Oct 2022 03:11:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=nR0/aDtjP+s7OwUf24ViLWgM4U7qhrgdtz34cPNt2ik=; b=OVVZOAHCjQyoaTNm+TDBC1Bxh2 aEgq0RQIYmk0QHL03HJGlFNBv+sFL2ojaT1wx4OOT5KhntMVcf6LF7vhAmQO9bWIg9zMABAy7w//O rFjGFebFrlYJ6MCTSdBCepOXHWMCbA9eAbby/d31R+j9sQPlOrFchjzXHXkfXG22kL4c6HVXT9Dex Go7VCQZxiMYbRAOEVrGmC0XXDEaYIQBHshRt7r7uxYhxxNngJ5yRcY7LGEpny4l9SMikWSMLOetIL zb3jd3latir8pDx1QQzB3wlyIwBJ0+INXsFoGWvWpBw1Z1aIhoXGp2aYtUaHA9hHLrKQQQ3oJ87eC BEgha+7Q==; Received: from [192.168.2.1] (port=49030 helo=steel) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1okglH-0002Jj-1K; Tue, 18 Oct 2022 12:41:39 +0530 From: Arun Isaac To: Visuwesh Subject: Re: bug#58070: [PATCH 0/1] Add tamil99 input method In-Reply-To: References: <20220925100020.13229-1-arunisaac@systemreboot.net> <83bkr3n4nk.fsf@gnu.org> <87sfkfpuuc.fsf@systemreboot.net> <87pmexe8mz.fsf@systemreboot.net> <831qrdcfk6.fsf@gnu.org> <871qr98oyy.fsf@systemreboot.net> Date: Tue, 18 Oct 2022 12:41:38 +0530 Message-ID: <87h701ip1x.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: Eli Zaretskii , 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > One comment: why not use link to the Tamil99 keyboard layout spec [1] > and change "vowel+consonant after mellinam-vallinam consonant" to say > "vowel+consonant after hard-soft consonant" like it says in the spec to > help future maintainers who will read this code? Sure, will do. I'll send an updated patch tonight. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 18 14:01:23 2022 Received: (at 58070) by debbugs.gnu.org; 18 Oct 2022 18:01:23 +0000 Received: from localhost ([127.0.0.1]:54067 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okqu2-0008CD-PE for submit@debbugs.gnu.org; Tue, 18 Oct 2022 14:01:23 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:48362) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okqtz-0008C3-65 for 58070@debbugs.gnu.org; Tue, 18 Oct 2022 14:01:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=AutUvIn6jTa+omFbRg3AeoJ2Ji6Sq3bj27zcwxhkg3o=; b=KQ5VPKPXkksp5+lvURkVRI5f4F Z8T9oKhpwDf7cs1NtsOmLg+YAPM5z2qcB5i2CdCvm2ZKK/goFzyDI+KlHoLwvCc+ilp15S0YebPJp sA8jnot1cMy/OcKec6AJRiuj0l9Qf9hZdp9SXxiuJndRnGnc5iafqmaTIhYlwL7cZmlHMzW5+GUrj M9cMc7HkG8ulZo33AltnuduuvX4gaUiNKxKX8THV5/PB/wvfAA8MI9AX4srUSi3H9I/k9bVeZRPjV q9KrlG/sTqz1lNlZ/KL6ZKqzDULePNjLExwMknn6aQRqUyMNp1N5PR/FBe4Ui6DBrz927ibgJTvmz KjBsbTLQ==; Received: from [192.168.2.1] (port=64872 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1okqtr-0003Om-08; Tue, 18 Oct 2022 23:31:11 +0530 From: Arun Isaac To: Arun Isaac , Visuwesh Subject: [PATCH v3] Add tamil99 input method Date: Tue, 18 Oct 2022 23:30:59 +0530 Message-Id: <20221018180059.22329-1-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.37.3 In-Reply-To: <87h701ip1x.fsf@systemreboot.net> References: <87h701ip1x.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 58070 Cc: Eli Zaretskii , 58070@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * lisp/leim/quail/indian.el: Require pcase and seq. ("tamil99"): New input method. * etc/NEWS: Mention new tamil99 input method. --- etc/NEWS | 3 + lisp/leim/quail/indian.el | 161 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index 3d1af8bd6f..bcdc991ea3 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1279,6 +1279,9 @@ The default input method for the Tamil language environment is now change the input method's translation rules, customize the user option 'tamil-translation-rules'. +--- +*** New tamil99 input method for the Tamil language + * Changes in Specialized Modes and Packages in Emacs 29.1 diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el index 431d8369c1..84a3c7cd7e 100644 --- a/lisp/leim/quail/indian.el +++ b/lisp/leim/quail/indian.el @@ -30,6 +30,8 @@ ;;; Code: +(require 'pcase) +(require 'seq) (require 'quail) (require 'ind-util) @@ -699,6 +701,165 @@ is." "tamil-inscript-digits" "Tamil" "TmlISD" "Tamil keyboard Inscript with Tamil digits support.") +;; Tamil99 input method +;; +;; Tamil99 is a keyboard layout and input method that is specifically +;; designed for the Tamil language. Vowels and vowel modifiers are +;; input with your left hand, and consonants are input with your right +;; hand. See https://en.wikipedia.org/wiki/Tamil_99 +;; +;; தமிழ்99 உள்ளீட்டு முறை +;; +;; தமிழ்99 தமிழுக்கென்றே உருவாக்கப்பட்ட விசைப்பலகை அமைப்பும் உள்ளீட்டு முறையும் +;; ஆகும். உயிர்களை இடக்கையுடனும் மெய்களை வலக்கையுடனும் தட்டச்சிடும்படி +;; அமைக்கப்பட்டது. https://ta.wikipedia.org/wiki/%E0%AE%A4%E0%AE%AE%E0%AE%BF%E0%AE%B4%E0%AF%8D_99 +;; காண்க. + +(quail-define-package + "tamil99" "Tamil" "தமிழ்99" + t "Tamil99 input method" + nil t t t t nil nil nil nil nil t) + +(defconst tamil99-vowels + '(("q" "ஆ") + ("w" "ஈ") + ("e" "ஊ") + ("r" "ஐ") + ("t" "ஏ") + ("a" "அ") + ("s" "இ") + ("d" "உ") + ("g" "எ") + ("z" "ஔ") + ("x" "ஓ") + ("c" "ஒ")) + "Mapping for vowels.") + +(defconst tamil99-vowel-modifiers + '(("q" "ா") + ("w" "ீ") + ("e" "ூ") + ("r" "ை") + ("t" "ே") + ("a" "") + ("s" "ி") + ("d" "ு") + ("g" "ெ") + ("z" "ௌ") + ("x" "ோ") + ("c" "ொ") + ("f" "்")) + "Mapping for vowel modifiers.") + +(defconst tamil99-hard-consonants + '(("h" "க") + ("[" "ச") + ("o" "ட") + ("l" "த") + ("j" "ப") + ("u" "ற")) + "Mapping for hard consonants (வல்லினம்).") + +(defconst tamil99-soft-consonants + '(("b" "ங") + ("]" "ஞ") + ("p" "ண") + (";" "ந") + ("k" "ம") + ("i" "ன")) + "Mapping for soft consonants (மெல்லினம்).") + +(defconst tamil99-medium-consonants + '(("'" "ய") + ("m" "ர") + ("n" "ல") + ("v" "வ") + ("/" "ழ") + ("y" "ள")) + "Mapping for medium consonants (இடையினம்).") + +(defconst tamil99-grantham-consonants + '(("Q" "ஸ") + ("W" "ஷ") + ("E" "ஜ") + ("R" "ஹ")) + "Mapping for grantham consonants (கிரந்தம்).") + +(defconst tamil99-consonants + (append tamil99-hard-consonants + tamil99-soft-consonants + tamil99-medium-consonants + tamil99-grantham-consonants) + "Mapping for all consonants.") + +(defconst tamil99-other + `(("T" ,(vector "க்ஷ")) + ("Y" ,(vector "ஶஂரீ")) + ("O" "[") + ("P" "]") + ("A" "௹") + ("S" "௺") + ("D" "௸") + ("F" "ஃ") + ("K" "\"") + ("L" ":") + (":" ";") + ("\"" "'") + ("Z" "௳") + ("X" "௴") + ("C" "௵") + ("V" "௶") + ("B" "௷") + ("M" "/")) + "Mapping for miscellaneous characters.") + +;; உயிர் +;; vowel +(mapc (pcase-lambda (`(,vowel-key ,vowel)) + (quail-defrule vowel-key vowel)) + tamil99-vowels) + +(mapc (pcase-lambda (`(,consonant-key ,consonant)) + ;; அகர உயிர்மெய் + ;; consonant symbol (consonant combined with the first vowel அ) + (quail-defrule consonant-key consonant) + ;; மெய்யொற்று பின் அகர உயிர்மெய் + ;; pulli on double consonant + (quail-defrule (concat consonant-key consonant-key) + (vector (concat consonant "்" consonant))) + (mapc (pcase-lambda (`(,vowel-key ,vowel-modifier)) + ;; உயிர்மெய் + ;; vowelised consonant + (quail-defrule (concat consonant-key vowel-key) + (vector (concat consonant vowel-modifier))) + ;; மெய்யொற்று பின் பிற உயிர்மெய் + ;; vowelised consonant after double consonant + (quail-defrule (concat consonant-key consonant-key vowel-key) + (vector (concat consonant "்" consonant vowel-modifier)))) + tamil99-vowel-modifiers)) + tamil99-consonants) + +(seq-mapn (pcase-lambda (`(,soft-consonant-key ,soft-consonant) + `(,hard-consonant-key ,hard-consonant)) + ;; மெல்லினம் பின் வல்லினம் + ;; hard consonant after soft consonant + (quail-defrule (concat soft-consonant-key hard-consonant-key) + (vector (concat soft-consonant "்" hard-consonant))) + (mapc (pcase-lambda (`(,vowel-key ,vowel-modifier)) + ;; மெல்லின ஒற்றொட்டிய வல்லினம் பின் உயிர்மெய் + ;; vowelised consonant after soft-hard consonant pair + (quail-defrule (concat soft-consonant-key hard-consonant-key vowel-key) + (vector (concat soft-consonant "்" hard-consonant vowel-modifier)))) + tamil99-vowel-modifiers)) + tamil99-soft-consonants + tamil99-hard-consonants) + +;; பிற வரியுருக்கள் +;; other characters +(mapc (pcase-lambda (`(,key ,translation)) + (quail-defrule key translation)) + tamil99-other) + ;; Probhat Input Method (quail-define-package "bengali-probhat" "Bengali" "BngPB" t -- 2.37.3 From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 19 07:41:50 2022 Received: (at 58070-done) by debbugs.gnu.org; 19 Oct 2022 11:41:50 +0000 Received: from localhost ([127.0.0.1]:56022 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ol7SI-00046G-Fy for submit@debbugs.gnu.org; Wed, 19 Oct 2022 07:41:50 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57970) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ol7SD-00045s-GY for 58070-done@debbugs.gnu.org; Wed, 19 Oct 2022 07:41:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:41898) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ol7S3-0006Zq-GJ; Wed, 19 Oct 2022 07:41:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=O2C0ix5IsIhgbtugOxtS/6WMsOxL/h2cwvHfTdO3Nko=; b=mgbjrBhFidMh 47MV8yegjFRdBX6idyADrT7KhemmWIxqQJEf/+Z1sO8CxnM2Ej4ui6rLLeR1AlB67SOnEEcfW5IiP vJ4fizeD099hROf3BBDKj5K+HmOYYanXMlvCMGcj76Trwl3qQdY5uT0SqOYdoKODYsYKfYcmVTalG 20UTizBHEH0gLi+C52NNbnmKbHTSgiEpNuSCY+zRZV4o4IBaqldozPhrECJj4jLflMbIbe7n9ITz9 5nGe+Ywu6SCrq89Plp4VblxG/0oPHQa1CAYzKAb89+DD9CMt4/CxvmKViKW4oUqSAbhCspTt51tak Rf4h1soR1fc8xNO80DOpbQ==; Received: from [87.69.77.57] (port=3598 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 1ol7S0-0005uX-Hl; Wed, 19 Oct 2022 07:41:35 -0400 Date: Wed, 19 Oct 2022 14:41:26 +0300 Message-Id: <83fsfkyra1.fsf@gnu.org> From: Eli Zaretskii To: Arun Isaac In-Reply-To: <20221018180059.22329-1-arunisaac@systemreboot.net> (message from Arun Isaac on Tue, 18 Oct 2022 23:30:59 +0530) Subject: Re: [PATCH v3] Add tamil99 input method References: <87h701ip1x.fsf@systemreboot.net> <20221018180059.22329-1-arunisaac@systemreboot.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58070-done Cc: 58070-done@debbugs.gnu.org, visuweshm@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Arun Isaac > Cc: Eli Zaretskii , > 58070@debbugs.gnu.org > Date: Tue, 18 Oct 2022 23:30:59 +0530 > > * lisp/leim/quail/indian.el: Require pcase and seq. > ("tamil99"): New input method. > * etc/NEWS: Mention new tamil99 input method. Thanks, installed. From unknown Tue Jun 17 01:49:17 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 16 Nov 2022 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator