summaryrefslogtreecommitdiff
path: root/lisp/international/iso-transl.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-05-14 02:25:48 +0000
committerRichard M. Stallman <rms@gnu.org>1997-05-14 02:25:48 +0000
commit2d4ef3c0eca77370dbdd50df8d0f7abce847f584 (patch)
tree78fa2c3564b95269ec10318954d34288da4d585b /lisp/international/iso-transl.el
parentb8ffe570285f689e5925d83a81ef004c5f368d0d (diff)
downloademacs-2d4ef3c0eca77370dbdd50df8d0f7abce847f584.tar.gz
(iso-transl-define-keys):
Obey quoted-insert-character-offset.
Diffstat (limited to 'lisp/international/iso-transl.el')
-rw-r--r--lisp/international/iso-transl.el35
1 files changed, 20 insertions, 15 deletions
diff --git a/lisp/international/iso-transl.el b/lisp/international/iso-transl.el
index 4b39ccea632..f1b6b3a0559 100644
--- a/lisp/international/iso-transl.el
+++ b/lisp/international/iso-transl.el
@@ -221,21 +221,26 @@ sequence VECTOR. (VECTOR is normally one character long.)")
;; 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)