emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100007: quail/japanese.el (quail-


From: Kenichi Handa
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100007: quail/japanese.el (quail-japanese-update-translation): Fix handling of invalid key.
Date: Sat, 28 Aug 2010 15:03:00 +0900
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100007 [merge]
committer: Kenichi Handa <address@hidden>
branch nick: emacs-23
timestamp: Sat 2010-08-28 15:03:00 +0900
message:
  quail/japanese.el (quail-japanese-update-translation): Fix handling of 
invalid key.
modified:
  leim/ChangeLog
  leim/quail/japanese.el
=== modified file 'leim/ChangeLog'
--- a/leim/ChangeLog    2010-08-15 09:36:19 +0000
+++ b/leim/ChangeLog    2010-08-28 05:58:44 +0000
@@ -1,3 +1,8 @@
+2010-08-28  Kenichi Handa  <address@hidden>
+
+       * quail/japanese.el (quail-japanese-update-translation): Fix
+       handling of invalid key.
+
 2010-08-15  Andreas Schwab  <address@hidden>
 
        * quail/vntelex.el ("vietnamese-telex"): Doc fix.

=== modified file 'leim/quail/japanese.el'
--- a/leim/quail/japanese.el    2010-01-13 08:35:10 +0000
+++ b/leim/quail/japanese.el    2010-08-28 05:58:44 +0000
@@ -43,20 +43,25 @@
                (or quail-current-str quail-current-key)
              ""))
     (if (integerp control-flag)
-       (if (= control-flag 0)
-           (setq quail-current-str (aref quail-current-key 0))
-         (cond ((= (aref quail-current-key 0) ?n)
+       (let ((keylen (length quail-current-key)))
+         (cond ((= control-flag 0)
+                (setq quail-current-str (aref quail-current-key 0)
+                      control-flag t))
+               ((= (aref quail-current-key 0) ?n)
                 (setq quail-current-str ?ん)
                 (if (and quail-japanese-use-double-n
+                         (> keylen 0)
                          (= (aref quail-current-key 1) ?n))
                     (setq control-flag t)))
-               ((= (aref quail-current-key 0) (aref quail-current-key 1))
+               ((and (> keylen 1)
+                     (= (aref quail-current-key 0) (aref quail-current-key 1)))
                 (setq quail-current-str ?っ))
                (t
                 (setq quail-current-str (aref quail-current-key 0))))
          (if (integerp control-flag)
              (setq unread-command-events
-                   (list (aref quail-current-key control-flag)))))))
+                   (string-to-list
+                    (substring quail-current-key control-flag)))))))
   control-flag)
 
 ;; Convert Hiragana <-> Katakana in the current translation region.


reply via email to

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