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