From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Robert Pluim Newsgroups: gmane.emacs.devel Subject: Re: latin-prefix input method niggles Date: Fri, 11 Jan 2019 11:58:24 +0100 Message-ID: References: <83y37sgvej.fsf@gnu.org> <83r2djhdws.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1547204201 22395 195.159.176.226 (11 Jan 2019 10:56:41 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 11 Jan 2019 10:56:41 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 11 11:56:37 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ghuUO-0005jt-Dz for ged-emacs-devel@m.gmane.org; Fri, 11 Jan 2019 11:56:36 +0100 Original-Received: from localhost ([127.0.0.1]:38536 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ghuWV-00053S-7Y for ged-emacs-devel@m.gmane.org; Fri, 11 Jan 2019 05:58:47 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:52072) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ghuWN-00052e-59 for emacs-devel@gnu.org; Fri, 11 Jan 2019 05:58:40 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ghuWM-0006fY-9h for emacs-devel@gnu.org; Fri, 11 Jan 2019 05:58:39 -0500 Original-Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:51359) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ghuWJ-0006c7-5P for emacs-devel@gnu.org; Fri, 11 Jan 2019 05:58:36 -0500 Original-Received: by mail-wm1-x332.google.com with SMTP id b11so1960946wmj.1 for ; Fri, 11 Jan 2019 02:58:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:message-id:mime-version :content-transfer-encoding; bh=+Ezy335AARWK9WlMU2wp9N0GFoY0NbUURqheq3nvYjk=; b=dU+u2VN7/8Yno8pwj7QCB7MSReUVKZq6SL9yMUPw67yO9OA8/QaQJ97fYd4cm9gr2X ycwUKEUqbPwZJdhbeN2fgKxo/PvGSzDrZAegN7XdtvCthCAgo/jzavgiV8I+hm3pKOjq gc4/t7Vuh6CqoJgZHKcyCoZeDvNiwdv/V9Cid6uj3rqrJzysXPSAFThHQbuG/gzziGTF huLlI0KlJQeVw+7wI8A0HeNaIGZAKbhIUyrHaI61hAw4KJ+icAtmh9sKcmYnWPN6OIWa iq3WPubhx2OqPGThQ2EGl28vhCJpqDT6b2KoJBWkc9p/C1GZJprZMdzKyETGotW8uK5/ XC7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:message-id :mime-version:content-transfer-encoding; bh=+Ezy335AARWK9WlMU2wp9N0GFoY0NbUURqheq3nvYjk=; b=kwyn9dnChBahSRsme+yO1JpO24A3YcrF2JqVTvBV56VCpyHYMW3gYW8sEGIBaAqyTf ThOk8R5DqVCS7Qsot4YGjdkNPdQ5ggNwjtcdazzQMdQbHDDdBb0z5cVz9JkmEiGyf1RS YF3ZSbvKlOIbxCQigIOMV8gHa2t/RCZVunlaT/mjr6ET8uRTLKJAl2xiGCEP6n3TI4I+ rXnSLFVsffKe1gkzsq1VzhV9sysdTOvUzBM/lzjLWqN9gPmXarnqrSLW5Of8jwUX5hB8 YwNOo6MHLw1v9+5pXqBVvFsSHOLk38VpkytJgSgOuXww2942Fj6pmlXvwXA5BVRIaJ6F B9AA== X-Gm-Message-State: AJcUukfJtr2zsX4kalV4zPT++mff8LAIeTyVu+QhK7TDxbhh2eegH07V hY3qjsPkDbwvK2k2OPqLbpqxnarw X-Google-Smtp-Source: ALg8bN4tH92vs1LSCrtTM6jV0wY3fnSUFU9qlLjG2EfOG8mmqh4YZmyr+buYqvd78Hf41dMkdb2RpQ== X-Received: by 2002:a7b:c5d1:: with SMTP id n17mr1841991wmk.152.1547204305926; Fri, 11 Jan 2019 02:58:25 -0800 (PST) Original-Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id v133sm18629176wmf.19.2019.01.11.02.58.24 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 11 Jan 2019 02:58:24 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::332 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:232308 Archived-At: Robert Pluim writes: >>> *time passes* I hadn't realised you could define multiple productions >>> for the same mapping. So we instead end up with >>>=20 >>> ~c -> =C3=A7 >>> ~c -> =C4=8D >>> ~a -> =C3=A3 >>> ~a -> =C4=83 >>>=20 >>> in that order, since that keeps the current latin-prefix mappings of >>> ~c and ~a first. We could also add ,c -> =C3=A7 for consistency with >>> latin-postfix. >> >> Right. > Eli Zaretskii writes: > >>> From: Robert Pluim >>> Cc: emacs-devel@gnu.org >>> Date: Thu, 10 Jan 2019 21:36:01 +0100 >>>=20 >>> Eli Zaretskii writes: >>>=20 >>> > I think we should make latin-prefix be consistent with latin-postfix. >>> > Each one of the above is correct in the latter, AFAICT, so we should >>> > just fix the problems in latin-prefix. E.g., ~a should produce both = =C3=A3 >>> > and =C4=83, ~c should produce =C4=8D, and =C4=A1 should be produced b= y .g. I see no >>> > reason to have these two behave inconsistently; do you? >>>=20 >>> .g already produces =C4=A1, changing ~c to produce =C4=8D is easy. I ta= ke it >>> you=CA=BCre ok with adding ,c -> =C3=A7 >> >> Yes, because it'd be consistent with latin-postfix. >> This is what I have so far. The first two hunks correct the documentation of romanian-prefix and romanian-alt-prefix to match the actual implementation, which I can commit separately. The last three hunks implement what we discussed above. I have no idea why ~o produces =C4=A1 in latin-prefix, if that=CA=BCs an er= ror I can remove it. It might be confusion caused by the docstring of latin-3-prefix, which says dot above | / . | /g -> =C4=A1 .o -> =C4=A1 when it=CA=BCs actually .g -> =C4=A1 , with no mapping for 'o' at all. I=CA=BCm going to stop looking now before I get stuck further down the rabbit hole. diff --git a/lisp/leim/quail/latin-pre.el b/lisp/leim/quail/latin-pre.el index 63565d4ced..3b24e9ee36 100644 --- a/lisp/leim/quail/latin-pre.el +++ b/lisp/leim/quail/latin-pre.el @@ -320,7 +320,7 @@ =20 effect | prefix | examples ------------+--------+------------------ - tilde | ~ | ~a -> =C4=83 + breve | ~ | ~a -> =C4=83 circumflex | ^ | ^a -> =C3=A2, ^i -> =C3=AE cedilla | , | ,s -> =C5=9F, ,t -> =C5=A3 ~ | ~ | ~~ -> ~ @@ -342,11 +342,11 @@ =20 effect | prefix | examples ------------+--------+------------------ - tilde | \" | \"a -> =C3=A2 - circumflex | \\=3D' | \\=3D'a -> =C3=A2, \\=3D'i -> =C3=AE - cedilla | \\=3D' | \\=3D's -> =C5=9F, \\=3D't -> =C5=A3 - \\=3D' | \\=3D' | \\=3D'\\=3D' -> \\=3D' - \" | \" | \"\" -> \" + breve | \\=3D' | \\=3D'a -> =C4=83 + circumflex | \" \\=3D' | \"a -> =C3=A2 \\=3D'i -> =C3=AE + cedilla | \\=3D' | \\=3D's -> =C5=9F \\=3D't -> =C5=A3 + \\=3D' | \\=3D' | \\=3D'\\=3D' -> \\=3D' + \" | \" | \"\" -> \" " nil t nil nil nil nil nil nil nil nil t) =20 (quail-define-rules @@ -1089,15 +1089,15 @@ =20 effect | prefix | examples ------------+--------+---------- - acute | \\=3D' | \\=3D'a -> =C3=A1, \\=3D'\\=3D' -> =C2=B4 + acute | \\=3D' | \\=3D'a -> =C3=A1 \\=3D'\\=3D' -> =C2=B4 grave | \\=3D` | \\=3D`a -> =C3=A0 circumflex | ^ | ^a -> =C3=A2 diaeresis | \" | \"a -> =C3=A4 \"\" -> =C2=A8 tilde | ~ | ~a -> =C3=A3 - cedilla | ~ | ~c -> =C3=A7 + cedilla | , ~ | ,c -> =C3=A7 ~c -> =C3=A7 + caron | ~ | ~c -> =C4=8D ~g -> =C4=9F breve | ~ | ~a -> =C4=83 - caron | ~ | ~c -> =C4=8D - dot above | ~ / . | ~o -> =C4=A1 /o -> =C4=A1 .o -> =C4=A1 + dot above | ~ / . | ~o -> =C4=A1 /g -> =C4=A1 .g -> =C4=A1 misc | \" ~ / | \"s -> =C3=9F ~d -> =C3=B0 ~t -> =C3=BE /a -> = =C3=A5 /e -> =C3=A6 /o -> =C3=B8 symbol | ~ | ~> -> =C2=BB ~< -> =C2=AB ~! -> =C2=A1 ~? -> = =C2=BF ~~ -> =C2=B8 symbol | _ / | _o -> =C2=BA _a -> =C2=AA // -> =C2=B0 /\\ -> = =C3=97 _y -> =C2=A5 @@ -1252,7 +1252,10 @@ ("~>" ?\=C2=BB) ("~?" ?=C2=BF) ("~A" ?=C3=83) + ("~A" ?=C4=82) ("~C" ?=C3=87) + ("~C" ?=C4=8C) + (",C" ?=C3=87) ("~D" ?=C3=90) ("~G" ?=C4=9E) ("~N" ?=C3=91) @@ -1265,7 +1268,10 @@ ("~Z" ?=C5=BD) ("~`" ?=CB=98) ("~a" ?=C3=A3) + ("~a" ?=C4=83) ("~c" ?=C3=A7) + ("~c" ?=C4=8D) + (",c" ?=C3=A7) ("~d" ?=C3=B0) ("~e" ?=E2=82=AC) ("~g" ?=C4=9F)