Author: tkng
Date: Fri Mar  4 11:28:15 2005
New Revision: 750

Modified:
   trunk/scm/m17nlib.scm

Log:
* scm/m17nlib.scm:
 -(m17nlib-press-key-handler): commit key event via im-commit-raw
   if key event was not consumed.


Modified: trunk/scm/m17nlib.scm
==============================================================================
--- trunk/scm/m17nlib.scm       (original)
+++ trunk/scm/m17nlib.scm       Fri Mar  4 11:28:15 2005
@@ -96,6 +96,7 @@
    '((mc-id             #f)
      (on                #f)
      (showing-candidate #f))))
+
 (define-record 'm17nlib-context m17nlib-context-rec-spec)
 (define m17nlib-context-new-internal m17nlib-context-new)
 
@@ -268,12 +269,16 @@
       (if (m17nlib-context-on mc)
          (if (m17nlib-push-key mc key key-state)
              #f ;; Discard key event
-             (let ((commit-str (m17nlib-lib-get-commit-string mid)))
+             (let* ((result (m17nlib-lib-get-result mid))
+                    (consumed? (car result))
+                    (commit-str (cdr result)))
                (if (string=? commit-str "")
                    (im-commit-raw mc)
                    (begin
                      (im-commit mc commit-str)
-                     (m17nlib-lib-commit mid)))))
+                     (m17nlib-lib-commit mid)
+                     (if (not consumed?)
+                         (im-commit-raw mc))))))
          (m17nlib-proc-direct-state mc key key-state))
       (m17nlib-update-preedit mc)
       (m17nlib-update-candidate mc))))

Reply via email to