aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2005-10-25 06:13:01 +0000
committerKenichi Handa2005-10-25 06:13:01 +0000
commit1f1ce6abe8723512ff62a077b4e7687d37eca135 (patch)
tree7906b6bcb8f0e873e6dd541a350bf47fbb64f703
parentead915936b333cc47a25ce52cdb72562008f1ee7 (diff)
downloademacs-1f1ce6abe8723512ff62a077b4e7687d37eca135.tar.gz
emacs-1f1ce6abe8723512ff62a077b4e7687d37eca135.zip
(quail-translate-key): If the input
method is deterministic and failed to handle the last key, restart the key handling loop from an appropriate key.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/international/quail.el14
2 files changed, 20 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index eaadd83db29..8ef8d2b823e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12005-10-25 Kenichi Handa <handa@m17n.org>
2
3 * international/quail.el (quail-translate-key): If the input
4 method is deterministic and failed to handle the last key, restart
5 the key handling loop from an appropriate key.
6
12005-10-25 Michael Albinus <michael.albinus@gmx.de> 72005-10-25 Michael Albinus <michael.albinus@gmx.de>
2 8
3 * vc.el (vc-dired-mode): Extend comment for binding of 9 * vc.el (vc-dired-mode): Extend comment for binding of
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index 0f9cc8f231d..e706a26d641 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -1720,6 +1720,20 @@ sequence counting from the head."
1720 ;; And, we can terminate the current translation. 1720 ;; And, we can terminate the current translation.
1721 t) 1721 t)
1722 1722
1723 ((quail-deterministic)
1724 ;; No way to handle the last character in this context.
1725 ;; Commit the longest successfully translated characters, and
1726 ;; handle the remaining characters in a new loop.
1727 (setq def nil)
1728 (while (and (not def) (> len 1))
1729 (setq len (1- len))
1730 (setq def (quail-map-definition
1731 (quail-lookup-key quail-current-key len))))
1732 (if def (setq quail-current-str
1733 (quail-get-current-str len def))
1734 (setq quail-current-str (aref quail-current-key 0)))
1735 len)
1736
1723 (t 1737 (t
1724 ;; No way to handle the last character in this context. 1738 ;; No way to handle the last character in this context.
1725 (setq def (quail-map-definition 1739 (setq def (quail-map-definition