Author: sasugaanija
Date: Sat Oct 20 09:47:17 2007
New Revision: 5033

Modified:
  trunk/emacs/uim.el

Log:
* emcas/uim.el
 - (uim-process-input): wait the next input using with-timeout and
   read-key-sequence-vector instead of sit-for to handle
   keys which are bound to keyboard-quit.



Modified: trunk/emacs/uim.el
==============================================================================
--- trunk/emacs/uim.el  (original)
+++ trunk/emacs/uim.el  Sat Oct 20 09:47:17 2007
@@ -1129,12 +1129,18 @@
                (setq uim-keystroke-displaying t))

            (if (not uim-keystroke-displaying)
-               (let ((inhibit-quit t))
-                 (setq uim-keystroke-displaying (sit-for echo-keystrokes))))
+               (cond (uim-emacs
+                      (let (key)
+                        (when (setq key (with-timeout (echo-keystrokes nil)
+                                          (read-key-sequence-vector nil)))
+                          (setq unread-command-events
+                                (nconc (listify-key-sequence key)
+                                       unread-command-events)))
+                       
+                        (setq uim-keystroke-displaying (not key))))
+                     (uim-xemacs
+                      (setq uim-keystroke-displaying (sit-for 
echo-keystrokes)))))

-           (uim-debug (format "*** uim-keystroke-displaying: %s"
-                              uim-keystroke-displaying))
-
            ;; display "ESC-" or something
            (if uim-keystroke-displaying
                (let (message-log-max)

Reply via email to