diff lisp/international/quail.el @ 66485:2c4be4c0eb6f

(quail-get-current-str): Translate last raw character for deterministic input methods.
author Juri Linkov <juri@jurta.org>
date Fri, 28 Oct 2005 05:47:31 +0000
parents 54f639048139
children adb1cbfb05ca 7beb78bc1f8e
line wrap: on
line diff
--- a/lisp/international/quail.el	Fri Oct 28 04:50:27 2005 +0000
+++ b/lisp/international/quail.el	Fri Oct 28 05:47:31 2005 +0000
@@ -1598,13 +1598,21 @@
   (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)