Mercurial > emacs
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) |