summaryrefslogtreecommitdiff
path: root/leim
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2010-09-01 16:13:21 +0900
committerKenichi Handa <handa@m17n.org>2010-09-01 16:13:21 +0900
commit9e69cb054d5c124bdf913c82453518ac4d9d6d53 (patch)
tree95537c8c17759cef4da7241d914059d15d7dc0c4 /leim
parent0a46a12f7a484e3fab96ea2f46fa738e90dabf1c (diff)
parentd419e1d94e885388b86f8753d741befa1855d333 (diff)
downloademacs-9e69cb054d5c124bdf913c82453518ac4d9d6d53.tar.gz
merge changes in emacs-23 branch
Diffstat (limited to 'leim')
-rw-r--r--leim/ChangeLog5
-rw-r--r--leim/quail/japanese.el15
2 files changed, 15 insertions, 5 deletions
diff --git a/leim/ChangeLog b/leim/ChangeLog
index 36788bbd5e7..1233aaf3062 100644
--- a/leim/ChangeLog
+++ b/leim/ChangeLog
@@ -1,3 +1,8 @@
+2010-08-28 Kenichi Handa <handa@m17n.org>
+
+ * quail/japanese.el (quail-japanese-update-translation): Fix
+ handling of invalid key.
+
2010-08-15 Andreas Schwab <schwab@linux-m68k.org>
* quail/vntelex.el ("vietnamese-telex"): Doc fix.
diff --git a/leim/quail/japanese.el b/leim/quail/japanese.el
index e1f7e74e030..42d83c6b806 100644
--- a/leim/quail/japanese.el
+++ b/leim/quail/japanese.el
@@ -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.