aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1997-05-14 02:25:48 +0000
committerRichard M. Stallman1997-05-14 02:25:48 +0000
commit2d4ef3c0eca77370dbdd50df8d0f7abce847f584 (patch)
tree78fa2c3564b95269ec10318954d34288da4d585b
parentb8ffe570285f689e5925d83a81ef004c5f368d0d (diff)
downloademacs-2d4ef3c0eca77370dbdd50df8d0f7abce847f584.tar.gz
emacs-2d4ef3c0eca77370dbdd50df8d0f7abce847f584.zip
(iso-transl-define-keys):
Obey quoted-insert-character-offset.
-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.)")
221;; or `Alt-~ n' or `mute-asciitilde n'. 221;; or `Alt-~ n' or `mute-asciitilde n'.
222(defun iso-transl-define-keys (alist) 222(defun iso-transl-define-keys (alist)
223 (while alist 223 (while alist
224 (define-key iso-transl-ctl-x-8-map (car (car alist)) (cdr (car alist))) 224 (let ((translated-vec
225 (let ((inchar (aref (car (car alist)) 0)) 225 (if enable-multibyte-characters
226 (vec (vconcat (car (car alist)))) 226 (vector (+ (aref (cdr (car alist)) 0)
227 (tail iso-transl-dead-key-alist)) 227 quoted-insert-character-offset))
228 (aset vec 0 (logior (aref vec 0) ?\A-\^@)) 228 (cdr (car alist)))))
229 (define-key key-translation-map vec (cdr (car alist))) 229 (define-key iso-transl-ctl-x-8-map (car (car alist)) translated-vec)
230 (define-key isearch-mode-map (vector (aref vec 0)) nil) 230 (let ((inchar (aref (car (car alist)) 0))
231 (while tail 231 (vec (vconcat (car (car alist))))
232 (if (eq (car (car tail)) inchar) 232 (tail iso-transl-dead-key-alist))
233 (let ((deadvec (copy-sequence vec)) 233 (aset vec 0 (logior (aref vec 0) ?\A-\^@))
234 (deadkey (cdr (car tail)))) 234 (define-key key-translation-map vec translated-vec)
235 (aset deadvec 0 deadkey) 235 (define-key isearch-mode-map (vector (aref vec 0)) nil)
236 (define-key isearch-mode-map (vector deadkey) nil) 236 (while tail
237 (define-key key-translation-map deadvec (cdr (car alist))))) 237 (if (eq (car (car tail)) inchar)
238 (setq tail (cdr tail)))) 238 (let ((deadvec (copy-sequence vec))
239 (deadkey (cdr (car tail))))
240 (aset deadvec 0 deadkey)
241 (define-key isearch-mode-map (vector deadkey) nil)
242 (define-key key-translation-map deadvec translated-vec)))
243 (setq tail (cdr tail)))))
239 (setq alist (cdr alist)))) 244 (setq alist (cdr alist))))
240 245
241(defun iso-transl-set-language (lang) 246(defun iso-transl-set-language (lang)