changeset 22794:9ace35333789

(kkc-region): Handled the case that conversion is cancelled. (kkc-terminate): Update kkc-overlay-head correctly. (kkc-cancel): Don't call kkc-terminate, but set kkc-converting to nil.
author Kenichi Handa <handa@m17n.org>
date Tue, 21 Jul 1998 01:42:40 +0000
parents c3ab1de66dfc
children b8d669900d55
files lisp/international/kkc.el
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/kkc.el	Tue Jul 21 01:42:40 1998 +0000
+++ b/lisp/international/kkc.el	Tue Jul 21 01:42:40 1998 +0000
@@ -232,17 +232,19 @@
 	  ;; Let's put the event back.
 	  (setq unread-input-method-events
 		(append (string-to-list keyseq) unread-input-method-events))
-	  (setq kkc-converting nil)))))
+	  (kkc-terminate)))))
 
   (force-mode-line-update)
   (goto-char (overlay-end kkc-overlay-tail))
-  (prog1 (- (point) from)
+  (prog1 (- (overlay-start kkc-overlay-head) from)
     (delete-overlay kkc-overlay-head)
     (delete-overlay kkc-overlay-tail)))
 
 (defun kkc-terminate ()
   "Exit from KKC mode by fixing the current conversion."
   (interactive)
+  (goto-char (overlay-end kkc-overlay-tail))
+  (move-overlay kkc-overlay-head (point) (point))
   (setq kkc-converting nil))
 
 (defun kkc-cancel ()
@@ -252,7 +254,7 @@
   (delete-region (overlay-start kkc-overlay-head)
 		 (overlay-end kkc-overlay-tail))
   (insert kkc-original-kana)
-  (kkc-terminate))
+  (setq kkc-converting nil))
 
 (defun kkc-first-char-only ()
   "Select only the first character currently converted."