summaryrefslogtreecommitdiff
path: root/lisp/international/kkc.el
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>1998-07-21 01:42:40 +0000
committerKenichi Handa <handa@m17n.org>1998-07-21 01:42:40 +0000
commitf370eb4c04b5d9aef99efe573f256e4fa85e0c6d (patch)
tree5244f0cf1f91dc9b0329574e551391cfcfc69f04 /lisp/international/kkc.el
parent348d1438c794b5c4712e6877b82c24cc21ef4b0a (diff)
downloademacs-f370eb4c04b5d9aef99efe573f256e4fa85e0c6d.tar.gz
(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.
Diffstat (limited to 'lisp/international/kkc.el')
-rw-r--r--lisp/international/kkc.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/international/kkc.el b/lisp/international/kkc.el
index 810550cc7fa..ba9ec6f910f 100644
--- a/lisp/international/kkc.el
+++ b/lisp/international/kkc.el
@@ -232,17 +232,19 @@ and the return value is the length of the conversion."
;; 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 @@ and the return value is the length of the conversion."
(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."