]> git.eshelyaron.com Git - emacs.git/commitdiff
(lrt-vowel-table): Change "ow" -> "ao", "am" -> "arm".
authorKenichi Handa <handa@m17n.org>
Thu, 17 Jul 1997 07:20:32 +0000 (07:20 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 17 Jul 1997 07:20:32 +0000 (07:20 +0000)
(lrt-handle-maa-sakod): Correctly handle the case that quail-current-data
is nil.
(lrt-handle-tone-mark): Fix bug of handling key sequence "hhai" + tone.

leim/quail/lrt.el

index 76ae460dbb907b7e90261bae27e24b9250e572e7..198fce0425d13b2f6c35e5955543ffc3e33ed5b2 100644 (file)
     ("ea" "\e(1`WM\e(B" (?\e(1`\e(B 0 ?\e(1W\e(B ?\e(1M\e(B))
     ("ai" "\e(1d\e(B" (?\e(1d\e(B 0))
     ("ei" "\e(1c\e(B" (?\e(1c\e(B 0))
-    ("ow" "\e(1`[R\e(B" (?\e(1`\e(B 0 ?\e(1[\e(B ?\e(1R\e(B))
-    ("am" "\e(1S\e(B" (?\e(1S\e(B 0))))
+    ("ao" "\e(1`[R\e(B" (?\e(1`\e(B 0 ?\e(1[\e(B ?\e(1R\e(B))
+    ("arm" "\e(1S\e(B" (?\e(1S\e(B 0))))
 
 ;; Maa-sakod is put at the tail.
 (defconst lrt-maa-sakod-table
 
 (defun lrt-handle-maa-sakod ()
   (interactive)
-  (if (= (length quail-current-key) 0)
+  (if (or (= (length quail-current-key) 0)
+         (not quail-current-data))
       (quail-self-insert-command)
-    (if (not (and quail-current-data (car quail-current-data)))
+    (if (not (car quail-current-data))
        (progn
          (setq quail-current-data nil)
          (setq unread-command-events
                ;; have already done it.
                (nth 1 quail-current-data)))
             (tail tone-mark-pattern)
+            (double-consonant-tail '(?\e(1'\e(B ?\e(1]\e(B ?\e(1G\e(B ?\e(1E\e(B ?\e(1-\e(B ?\e(19\e(B ?\e(1A\e(B))
             place)
        ;; Find a place to embed TONE-MARK.  It should be after a
-       ;; single or double consonant.
+       ;; single or double consonant and following vowels.
        (while (and tail (not place))
          (if (and
-              ;; Skip `\e(1K\e(B', the first letter of double consonant.
-              (/= (car tail) ?\e(1K\e(B)
               (eq (get-char-code-property (car tail) 'phonetic-type)
-                  'consonant))
+                  'consonant)
+              ;; Skip `\e(1K\e(B' if it is the first letter of double consonant.
+              (or (/= (car tail) ?\e(1K\e(B)
+                  (not (cdr tail))
+                  (not
+                   (if (= (car (cdr tail)) ?\e(1\\e(B)
+                       (and (cdr (cdr tail))
+                            (memq (car (cdr (cdr tail))) double-consonant-tail))
+                     (memq (car (cdr tail)) double-consonant-tail)))))
              (progn
                (setq place tail)
                (setq tail (cdr tail))