From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Kierin Bell Newsgroups: gmane.emacs.bugs Subject: bug#74170: [PATCH] Add input methods for Northern Iroquoian languages Date: Sat, 02 Nov 2024 23:40:26 -0400 Message-ID: <871pztq91x.fsf@fernseed.me> References: <87froas6s7.fsf@fernseed.me> <86r07uyrs9.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38543"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 74170@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 03 04:42:21 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t7RVN-0009uq-Ey for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 03 Nov 2024 04:42:21 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t7RV6-00005v-Py; Sat, 02 Nov 2024 23:42:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t7RV4-00005n-RW for bug-gnu-emacs@gnu.org; Sat, 02 Nov 2024 23:42:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t7RV4-0008UR-IM for bug-gnu-emacs@gnu.org; Sat, 02 Nov 2024 23:42:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:References:In-Reply-To:From:To:Subject; bh=35qx3Fwf8zVvssuWMcb5UUpXcIRdZRRNSC+2jXZr9n0=; b=LpW6hGKFpuKtP1L3CkGUnBRBVayHuF4/yFpFz0ez/7hbaYvpyaEDdHHzVz0bzxEVSrKKxR/N3yKDrRZS/cyNMIJ9CwPDHYA1zBqwGjXumcGjFp00+gNmimNukwscA1AIZhMScx020vPqC+E1+OXLqED6EVVUAOAL1UNbRS8RxbGPWvOF1YgkqXGeyhnLKm/1cXdLuBWns9m8SMy3gu9ICv+FqvK8nXJgwbRU+3UUmbuGG0j3vNwu9qoq8Xyk96EM2gQ/qUAOVQ+mYoBi2ZfY0EEVsKvEdGzlMjm7FXy6thKHeOCw1d56Bk4/m3tiqor5s3jhzgQetecY99BSvkXeUg==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t7RV4-0004et-4K for bug-gnu-emacs@gnu.org; Sat, 02 Nov 2024 23:42:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Kierin Bell Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Nov 2024 03:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74170 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 74170-submit@debbugs.gnu.org id=B74170.173060527517886 (code B ref 74170); Sun, 03 Nov 2024 03:42:02 +0000 Original-Received: (at 74170) by debbugs.gnu.org; 3 Nov 2024 03:41:15 +0000 Original-Received: from localhost ([127.0.0.1]:57471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t7RUJ-0004eQ-0z for submit@debbugs.gnu.org; Sat, 02 Nov 2024 23:41:15 -0400 Original-Received: from mout-p-103.mailbox.org ([80.241.56.161]:38494) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t7RUG-0004eE-Qk for 74170@debbugs.gnu.org; Sat, 02 Nov 2024 23:41:14 -0400 Original-Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4Xh0jv49NVz9skV; Sun, 3 Nov 2024 04:40:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fernseed.me; s=MBO0001; t=1730605235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=35qx3Fwf8zVvssuWMcb5UUpXcIRdZRRNSC+2jXZr9n0=; b=sbnnfAezF5NY7di6D4cvk7MVaXF2HCo9iHOboWOt6KBVOW0WYobX/UVQxfRM13nQ0t8b9L KV3ELWCH3sIB4p1XkzrV9KhgIzOxz+PSQwWHzsxjZU93ApaciUTnkXn5nQiISwQwTPCLgo PLbWAN3Y4x3BJqFU8c5jmFhHOMoQs8TuhDpEPub486KGLdiJmyNmilFd2G9H6zsEnBUAuE 5cVEZd1+fGXQgNghRmZhQyCG+wPNzIp/gGYNK8ar3kjmvQYKKfMsT2aF9SjRISTsj1JW+x 4aduThY+ARIGWoRN6EQOhMN17I3sxL+0jCe2fqE5xgJULTNZqxfYb/UMTdKmbA== In-Reply-To: <86r07uyrs9.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 02 Nov 2024 10:16:22 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:294780 Archived-At: --=-=-= Content-Type: text/plain Hi Eli, Thanks for the feedback. Eli Zaretskii writes: >> From: Kierin Bell Date: Fri, 01 Nov 2024 >> 22:34:16 -0400 >> >> Attached is a patch implementing input methods for five languages in the >> Northern Iroquoian language family. > > Thanks. > >> None of these languages have have officially designated standardized >> orthographies (and all of them are endangered), but I have designed the >> input methods around what I believe to be the most widely used community >> orthographies (used in language programs, dictionaries, etc). > > Would it make sense to document the sources of the information you > used to write these input methods? Since there are no standardized > orthographies, I think it would be good to have this information in > the file, so that in the future people who are interested in > developing these input methods could consult those sources and > understand your decisions. > This is a good suggestion. I have added comments with reference works that should be helpful (although some of the minutiae also come from personal familiarity with community language programs). >> I should already have FSF copyright assignment on file. > > Your copyright assignment is on file, yes. > >> In GNU Emacs 30.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version >> 3.24.41, cairo version 1.18.0) >> System Description: Guix System > > Please rebase the changeset on the master branch, as the Emacs 30 > release branch is already closed for new features. This is mostly > important for the NEWS part, because otherwise the patchset will fail > to apply. > I thought that I had formatted the patch with `git format-patch master', but I re-formatted again against master after pulling. Hopefully that works. >> +(defun quail-iroquoian-combining-char-p (char) >> + "Return whether CHAR is a combining character." >> + (and (characterp char) >> + ;; XXX: Combining characters here all have 'Mn' general category. >> + (memq (get-char-code-property char 'general-category) '(Mn)))) > > What's with those "XXX" comments, here and elsewhere in the patch? > They seem to be FIXME comments of sorts, and if so, can we please > resolve these issues before this is installed? > Yes, "XXX" is like "FIXME". After investigating a lot of these issues, I decided it was best to do a major refactor (see below). > ... > Perhaps also explain how these input methods work, from the user's > POV. That is, what should the user type and what will EMacs show > while inputting some of these sequences. > I have added relatively comprehensive documentation strings for each of the new input methods. >> +;;; iroquoian.el ends here > > A 'provide' line is missing here. > Added a `provide' line. Most files in lisp/leim/quail lack them, but I think that it makes sense to have one. > Thanks. I have done a major refactor doing away with the state transition table approach in favor of generating rules for all of the diacritic/vowel combinations and defining them with `quail-defrule'. It turns out that the state transition table approach creates a few issues that cannot be corrected for without patching quail.el. Particularly, `quail-help' and `quail-build-decode-map' are hard-coded to display a "KEY SEQUENCE" section that is ugly and not helpful when state transition tables are employed for use-cases like mine. For example, the 'char' column for the 'key' "a'" would display just the combining acute accent character, which does not convey that the diacritic and vowel are combined in the final translation. My docstrings now are complete enough that the last issue would not be a deal-breaker, but this and other issues make it clear that Quail was not designed to be used like that. Also, few of the existing Quail packages use state transition tables at all, and the refactored input method implementations contained in my new patch are cleaner and more maintainable. Second patch is attached. Thanks, Kierin --=-=-= Content-Type: message/external-body; name="~/src/emacs/0001-Add-input-methods-for-Northern-Iroquoian-languages.patch"; access-type=local-file Content-Type: text/x-patch Content-ID: <87zfmhouhh.fsf@fernseed.me> Content-Transfer-Encoding: binary --=-=-=--