comparison leim/quail/japanese.el @ 33582:5ce190e20a23

(quail-japanese-kanji-kkc): Use marker to remember the conversion start.
author Kenichi Handa <handa@m17n.org>
date Sat, 18 Nov 2000 00:04:54 +0000
parents 57911faddb37
children f40b8211dbe0
comparison
equal deleted inserted replaced
33581:10615d0d4ed1 33582:5ce190e20a23
77 77
78 ;; Convert Hiragana in the current translation region to Kanji by KKC 78 ;; Convert Hiragana in the current translation region to Kanji by KKC
79 ;; (Kana Kanji Converter) utility. 79 ;; (Kana Kanji Converter) utility.
80 (defun quail-japanese-kanji-kkc () 80 (defun quail-japanese-kanji-kkc ()
81 (interactive) 81 (interactive)
82 (let ((from (overlay-start quail-conv-overlay)) 82 (when (= (char-before (overlay-end quail-conv-overlay)) ?n)
83 (to (overlay-end quail-conv-overlay))) 83 ;; The last char is `n'. We had better convert it to `ん'
84 ;; before kana-kanji conversion.
85 (goto-char (overlay-end quail-conv-overlay))
86 (delete-char -1)
87 (insert ?ん))
88 (let* ((from (copy-marker (overlay-start quail-conv-overlay)))
89 (len (- (overlay-end quail-conv-overlay) from)))
84 (quail-delete-overlays) 90 (quail-delete-overlays)
85 (setq quail-current-str nil) 91 (setq quail-current-str nil)
86 (when (= (char-before to) ?n) 92 (unwind-protect
87 ;; The last char is `n'. We had better convert it to `ん' 93 (let ((result (kkc-region from (+ from len))))
88 ;; before kana-kanji conversion. 94 (move-overlay quail-conv-overlay from (point))
89 (goto-char to) 95 (setq quail-conversion-str (buffer-substring from (point)))
90 (delete-char -1) 96 (if (= (+ from result) (point))
91 (insert ?ん)) 97 (setq quail-converting nil))
92 (let ((result (kkc-region from to))) 98 (setq quail-translating nil))
93 (move-overlay quail-conv-overlay from (point)) 99 (set-marker from nil))))
94 (setq quail-conversion-str (buffer-substring from (point)))
95 (if (= (+ from result) (point))
96 (setq quail-converting nil))
97 (setq quail-translating nil))))
98 100
99 (defun quail-japanese-self-insert-and-switch-to-alpha (key idx) 101 (defun quail-japanese-self-insert-and-switch-to-alpha (key idx)
100 (quail-delete-region) 102 (quail-delete-region)
101 (setq unread-command-events (list (aref key (1- idx)))) 103 (setq unread-command-events (list (aref key (1- idx))))
102 (quail-japanese-switch-package "q" 1)) 104 (quail-japanese-switch-package "q" 1))