From: Kenichi Handa Date: Sat, 28 Aug 2010 06:03:00 +0000 (+0900) Subject: quail/japanese.el (quail-japanese-update-translation): Fix handling of invalid key. X-Git-Tag: emacs-pretest-23.2.90~139 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f2b38ae6dd11ffd2778441afff616045b952d3cd;p=emacs.git quail/japanese.el (quail-japanese-update-translation): Fix handling of invalid key. --- f2b38ae6dd11ffd2778441afff616045b952d3cd diff --cc leim/ChangeLog index dd33ae5a32f,dd33ae5a32f..9c5b2374b1f --- a/leim/ChangeLog +++ b/leim/ChangeLog @@@ -1,3 -1,3 +1,8 @@@ ++2010-08-28 Kenichi Handa ++ ++ * quail/japanese.el (quail-japanese-update-translation): Fix ++ handling of invalid key. ++ 2010-08-15 Andreas Schwab * quail/vntelex.el ("vietnamese-telex"): Doc fix. diff --cc leim/quail/japanese.el index e1f7e74e030,e1f7e74e030..42d83c6b806 --- a/leim/quail/japanese.el +++ b/leim/quail/japanese.el @@@ -43,20 -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.