Author: sasugaanija
Date: Sat Jun 23 02:15:52 2007
New Revision: 4607

Modified:
   trunk/emacs/uim-key.el
   trunk/emacs/uim-var.el
   trunk/emacs/uim.el

Log:
* emacs/uim.el
* emacs/uim-key.el
* emacs/uim-var.el
 - Support shifted-motion-keys-select-region feature of XEmacs



Modified: trunk/emacs/uim-key.el
==============================================================================
--- trunk/emacs/uim-key.el      (original)
+++ trunk/emacs/uim-key.el      Sat Jun 23 02:15:52 2007
@@ -249,8 +249,16 @@
                         (uim-debug (format "this-command is %s" this-command))
                         (setq last-command-char (aref keyvec 0))
 
+                        (if uim-xemacs
+                            (progn
+                              (setq last-input-event uim-original-input-event)
+                              (handle-pre-motion-command)))
+
                         (run-hooks 'pre-command-hook)
                         (command-execute this-command) 
+
+                        (if uim-xemacs
+                            (handle-post-motion-command))
 
                         (uim-flush-concat-undo)
                         )

Modified: trunk/emacs/uim-var.el
==============================================================================
--- trunk/emacs/uim-var.el      (original)
+++ trunk/emacs/uim-var.el      Sat Jun 23 02:15:52 2007
@@ -270,6 +270,10 @@
 
 (defvar uim-retry-keys nil)
 
+;; keep original last-input-event to process the event correctly after
+;; removing Shift modifier
+(defvar uim-original-input-event nil)
+
 (defvar uim-local-var '())
 
 ;; Macro for setting up buffer-local variable

Modified: trunk/emacs/uim.el
==============================================================================
--- trunk/emacs/uim.el  (original)
+++ trunk/emacs/uim.el  Sat Jun 23 02:15:52 2007
@@ -880,6 +880,8 @@
   (if uim-prefix-arg
       (uim-debug (format "uim-prefix-arg %s" uim-prefix-arg)))
 
+  (if (and uim-xemacs (not uim-retry-keys))
+      (setq uim-original-input-event (copy-event last-input-event)))
 
   (let ((keyvec (uim-this-command-keys current-prefix-arg))
        sendkey newvec bypass count mouse)

Reply via email to