Mercurial > emacs
comparison lisp/international/quail.el @ 19744:b1774d359a3d
(quail-update-translation):
Do insert translated char when enable-multibyte-characters is nil.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 04 Sep 1997 04:47:34 +0000 |
parents | 3ada64a43911 |
children | 953af2c5a9d1 |
comparison
equal
deleted
inserted
replaced
19743:b228f82192d5 | 19744:b1774d359a3d |
---|---|
1060 (while (> len control-flag) | 1060 (while (> len control-flag) |
1061 (setq len (1- len)) | 1061 (setq len (1- len)) |
1062 (setq unread-command-events | 1062 (setq unread-command-events |
1063 (cons (aref quail-current-key len) | 1063 (cons (aref quail-current-key len) |
1064 unread-command-events))) | 1064 unread-command-events))) |
1065 (insert (or quail-current-str | 1065 ;; Insert the translated sequence. |
1066 (substring quail-current-key 0 len)))) | 1066 ;; It is a string containing multibyte characters. |
1067 ;; If enable-multibyte-characters, just insert it. | |
1068 (if enable-multibyte-characters | |
1069 (insert (or quail-current-str | |
1070 (substring quail-current-key 0 len))) | |
1071 ;; Otherwise, in case the user is using a single-byte | |
1072 ;; extended-ASCII character set, | |
1073 ;; try inserting the translated character. | |
1074 (let ((char (sref (or quail-current-str | |
1075 (substring quail-current-key 0 len)) | |
1076 0))) | |
1077 (if (= (length (split-char char)) 2) | |
1078 (insert-char (logand char 127)) | |
1079 (error "Cannot insert three-byte character in single-byte mode"))))) | |
1067 (insert (or quail-current-str quail-current-key))))) | 1080 (insert (or quail-current-str quail-current-key))))) |
1068 (quail-update-guidance) | 1081 (quail-update-guidance) |
1069 (if control-flag | 1082 (if control-flag |
1070 (quail-terminate-translation))) | 1083 (quail-terminate-translation))) |
1071 | 1084 |