comparison lisp/international/quail.el @ 23887:3a4d3e2418dc

(quail-point-in-conversion-region): New function. (quail-conversion-backward-delete-char): When a key sequence is being translated, call quail-delete-last-char.
author Kenichi Handa <handa@m17n.org>
date Tue, 15 Dec 1998 04:35:38 +0000
parents ab6b58c72a04
children 20d23ea9713b
comparison
equal deleted inserted replaced
23886:6402c89c30c3 23887:3a4d3e2418dc
1343 (setq quail-current-key (substring quail-current-key 0 -1)) 1343 (setq quail-current-key (substring quail-current-key 0 -1))
1344 (quail-update-translation (quail-translate-key)))) 1344 (quail-update-translation (quail-translate-key))))
1345 1345
1346 ;; For conversion mode. 1346 ;; For conversion mode.
1347 1347
1348 (defsubst quail-point-in-conversion-region ()
1349 "Return non-nil value if the point is in conversion region of Quail mode."
1350 (let (start pos)
1351 (and (setq start (overlay-start quail-conv-overlay))
1352 (>= (setq pos (point)) start)
1353 (<= pos (overlay-end quail-conv-overlay)))))
1354
1348 (defun quail-conversion-backward-char () 1355 (defun quail-conversion-backward-char ()
1349 (interactive) 1356 (interactive)
1350 (if (<= (point) (overlay-start quail-conv-overlay)) 1357 (if (<= (point) (overlay-start quail-conv-overlay))
1351 (quail-error "Beginning of conversion region")) 1358 (quail-error "Beginning of conversion region"))
1352 (setq quail-translating nil) 1359 (setq quail-translating nil)
1392 (if (= start end) 1399 (if (= start end)
1393 (setq quail-converting nil)))) 1400 (setq quail-converting nil))))
1394 1401
1395 (defun quail-conversion-backward-delete-char () 1402 (defun quail-conversion-backward-delete-char ()
1396 (interactive) 1403 (interactive)
1397 (if (<= (point) (overlay-start quail-conv-overlay)) 1404 (if (> (length quail-current-key) 0)
1398 (quail-error "Beginning of conversion region")) 1405 (quail-delete-last-char)
1399 (delete-char -1) 1406 (if (<= (point) (overlay-start quail-conv-overlay))
1400 (let ((start (overlay-start quail-conv-overlay)) 1407 (quail-error "Beginning of conversion region"))
1401 (end (overlay-end quail-conv-overlay))) 1408 (delete-char -1)
1402 (setq quail-conversion-str (buffer-substring start end)) 1409 (let ((start (overlay-start quail-conv-overlay))
1403 (if (= start end) 1410 (end (overlay-end quail-conv-overlay)))
1404 (setq quail-converting nil)))) 1411 (setq quail-conversion-str (buffer-substring start end))
1412 (if (= start end)
1413 (setq quail-converting nil)))))
1405 1414
1406 (defun quail-do-conversion (func &rest args) 1415 (defun quail-do-conversion (func &rest args)
1407 "Call FUNC to convert text in the current conversion region of Quail. 1416 "Call FUNC to convert text in the current conversion region of Quail.
1408 Remaining args are for FUNC." 1417 Remaining args are for FUNC."
1409 (delete-overlay quail-overlay) 1418 (delete-overlay quail-overlay)