aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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