# HG changeset patch # User Richard M. Stallman # Date 873348454 0 # Node ID b1774d359a3db067b824461d34923c55f1db1cae # Parent b228f82192d59e3cb588ae918128e9c5bb839820 (quail-update-translation): Do insert translated char when enable-multibyte-characters is nil. diff -r b228f82192d5 -r b1774d359a3d lisp/international/quail.el --- a/lisp/international/quail.el Thu Sep 04 03:31:10 1997 +0000 +++ b/lisp/international/quail.el Thu Sep 04 04:47:34 1997 +0000 @@ -1062,8 +1062,21 @@ (setq unread-command-events (cons (aref quail-current-key len) unread-command-events))) - (insert (or quail-current-str - (substring quail-current-key 0 len)))) + ;; Insert the translated sequence. + ;; It is a string containing multibyte characters. + ;; If enable-multibyte-characters, just insert it. + (if enable-multibyte-characters + (insert (or quail-current-str + (substring quail-current-key 0 len))) + ;; Otherwise, in case the user is using a single-byte + ;; extended-ASCII character set, + ;; try inserting the translated character. + (let ((char (sref (or quail-current-str + (substring quail-current-key 0 len)) + 0))) + (if (= (length (split-char char)) 2) + (insert-char (logand char 127)) + (error "Cannot insert three-byte character in single-byte mode"))))) (insert (or quail-current-str quail-current-key))))) (quail-update-guidance) (if control-flag