;; or `Alt-~ n' or `mute-asciitilde n'.
(defun iso-transl-define-keys (alist)
(while alist
- (define-key iso-transl-ctl-x-8-map (car (car alist)) (cdr (car alist)))
- (let ((inchar (aref (car (car alist)) 0))
- (vec (vconcat (car (car alist))))
- (tail iso-transl-dead-key-alist))
- (aset vec 0 (logior (aref vec 0) ?\A-\^@))
- (define-key key-translation-map vec (cdr (car alist)))
- (define-key isearch-mode-map (vector (aref vec 0)) nil)
- (while tail
- (if (eq (car (car tail)) inchar)
- (let ((deadvec (copy-sequence vec))
- (deadkey (cdr (car tail))))
- (aset deadvec 0 deadkey)
- (define-key isearch-mode-map (vector deadkey) nil)
- (define-key key-translation-map deadvec (cdr (car alist)))))
- (setq tail (cdr tail))))
+ (let ((translated-vec
+ (if enable-multibyte-characters
+ (vector (+ (aref (cdr (car alist)) 0)
+ quoted-insert-character-offset))
+ (cdr (car alist)))))
+ (define-key iso-transl-ctl-x-8-map (car (car alist)) translated-vec)
+ (let ((inchar (aref (car (car alist)) 0))
+ (vec (vconcat (car (car alist))))
+ (tail iso-transl-dead-key-alist))
+ (aset vec 0 (logior (aref vec 0) ?\A-\^@))
+ (define-key key-translation-map vec translated-vec)
+ (define-key isearch-mode-map (vector (aref vec 0)) nil)
+ (while tail
+ (if (eq (car (car tail)) inchar)
+ (let ((deadvec (copy-sequence vec))
+ (deadkey (cdr (car tail))))
+ (aset deadvec 0 deadkey)
+ (define-key isearch-mode-map (vector deadkey) nil)
+ (define-key key-translation-map deadvec translated-vec)))
+ (setq tail (cdr tail)))))
(setq alist (cdr alist))))
(defun iso-transl-set-language (lang)