summaryrefslogtreecommitdiff
path: root/lisp/international/quail.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2005-10-28 05:47:31 +0000
committerJuri Linkov <juri@jurta.org>2005-10-28 05:47:31 +0000
commit91a802b0bf87fd4d81f3488740e6eea54dac13f5 (patch)
tree3947f9f11b1d333ab22fe54691466d921b6adaa6 /lisp/international/quail.el
parent887ec6f1cdbc38761d04583be24cb2b2c244e917 (diff)
downloademacs-91a802b0bf87fd4d81f3488740e6eea54dac13f5.tar.gz
(quail-get-current-str): Translate last raw character
for deterministic input methods.
Diffstat (limited to 'lisp/international/quail.el')
-rw-r--r--lisp/international/quail.el18
1 files changed, 13 insertions, 5 deletions
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index e706a26d641..3998764957e 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -1598,13 +1598,21 @@ Quail map for the sequence."
(or (and (consp def) (aref (cdr def) (car (car def))))
def
(and (> len 1)
- (let ((str (quail-get-current-str
- (1- len)
- (quail-map-definition (quail-lookup-key
- quail-current-key (1- len))))))
+ (let* ((str (quail-get-current-str
+ (1- len)
+ (quail-map-definition (quail-lookup-key
+ quail-current-key (1- len)))))
+ (substr1 (substring quail-current-key (1- len) len))
+ (str1 (and (quail-deterministic)
+ (quail-get-current-str
+ 1
+ (quail-map-definition (quail-lookup-key
+ substr1 1))))))
(if str
(concat (if (stringp str) str (char-to-string str))
- (substring quail-current-key (1- len) len)))))))
+ (if str1
+ (if (stringp str1) str1 (char-to-string str1))
+ substr1)))))))
(defvar quail-guidance-translations-starting-column 20)