emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: latin-prefix input method niggles


From: Robert Pluim
Subject: Re: latin-prefix input method niggles
Date: Fri, 11 Jan 2019 11:58:24 +0100

Robert Pluim <address@hidden> writes:

>>> *time passes* I hadn't realised you could define multiple productions
>>>  for the same mapping. So we instead end up with
>>> 
>>> ~c -> ç
>>> ~c -> č
>>> ~a -> ã
>>> ~a -> ă
>>> 
>>> in that order, since that keeps the current latin-prefix mappings of
>>> ~c and ~a first. We could also add ,c -> ç for consistency with
>>> latin-postfix.
>>
>> Right.

> Eli Zaretskii <address@hidden> writes:
>
>>> From: Robert Pluim <address@hidden>
>>> Cc: address@hidden
>>> Date: Thu, 10 Jan 2019 21:36:01 +0100
>>> 
>>> Eli Zaretskii <address@hidden> writes:
>>> 
>>> > 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 ã
>>> > and ă, ~c should produce č, and ġ should be produced by .g.  I see no
>>> > reason to have these two behave inconsistently; do you?
>>> 
>>> .g already produces ġ, changing ~c to produce č is easy. I take it
>>> youʼre ok with adding ,c -> ç
>>
>> 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 ġ in latin-prefix, if thatʼs an error I
can remove it. It might be confusion caused by the docstring of
latin-3-prefix, which says

  dot above  |   / .  | /g -> ġ   .o -> ġ

when itʼs actually .g -> ġ , with no mapping for 'o' at all.

Iʼm 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 @@
 
     effect   | prefix | examples
  ------------+--------+------------------
-    tilde    |   ~    | ~a -> ă
+    breve    |   ~    | ~a -> ă
   circumflex |   ^    | ^a -> â, ^i -> î
    cedilla   |   ,    | ,s -> ş, ,t -> ţ
    ~         |   ~    | ~~ -> ~
@@ -342,11 +342,11 @@
 
     effect   | prefix | examples
  ------------+--------+------------------
-    tilde    |   \"    | \"a -> â
-  circumflex |   \\='    | \\='a -> â, \\='i -> î
-   cedilla   |   \\='    | \\='s -> ş, \\='t -> ţ
-   \\='         |   \\='    | \\='\\=' -> \\='
-   \"         |   \"    | \"\" -> \"
+    breve    |   \\='    | \\='a -> ă
+ circumflex  |  \" \\='   | \"a -> â  \\='i -> î
+   cedilla   |   \\='    | \\='s -> ş  \\='t -> ţ
+      \\='      |   \\='    | \\='\\=' -> \\='
+      \"      |   \"    | \"\" -> \"
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -1089,15 +1089,15 @@
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   \\='    | \\='a -> á, \\='\\=' -> ´
+    acute    |   \\='    | \\='a -> á  \\='\\=' -> ´
     grave    |   \\=`    | \\=`a -> à
   circumflex |   ^    | ^a -> â
   diaeresis  |   \"    | \"a -> ä  \"\" -> ¨
     tilde    |   ~    | ~a -> ã
-   cedilla   |   ~    | ~c -> ç
+   cedilla   |  , ~   | ,c -> ç  ~c -> ç
+    caron    |   ~    | ~c -> č  ~g -> ğ
     breve    |   ~    | ~a -> ă
-    caron    |   ~    | ~c -> č
-  dot above  | ~ / .  | ~o -> ġ   /o -> ġ   .o -> ġ
+  dot above  | ~ / .  | ~o -> ġ   /g -> ġ   .g -> ġ
     misc     | \" ~ /  | \"s -> ß  ~d -> ð  ~t -> þ  /a -> å  /e -> æ  /o -> ø
    symbol    |   ~    | ~> -> »  ~< -> «  ~! -> ¡  ~? -> ¿  ~~ -> ¸
    symbol    |  _ /   | _o -> º  _a -> ª  // -> °  /\\ -> ×  _y -> ¥
@@ -1252,7 +1252,10 @@
  ("~>" ?\»)
  ("~?" ?¿)
  ("~A" ?Ã)
+ ("~A" ?Ă)
  ("~C" ?Ç)
+ ("~C" ?Č)
+ (",C" ?Ç)
  ("~D" ?Ð)
  ("~G" ?Ğ)
  ("~N" ?Ñ)
@@ -1265,7 +1268,10 @@
  ("~Z" ?Ž)
  ("~`" ?˘)
  ("~a" ?ã)
+ ("~a" ?ă)
  ("~c" ?ç)
+ ("~c" ?č)
+ (",c" ?ç)
  ("~d" ?ð)
  ("~e" ?€)
  ("~g" ?ğ)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]