aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa1997-02-26 13:03:20 +0000
committerKenichi Handa1997-02-26 13:03:20 +0000
commit5350ad1dda5764b75ee962dd1b57a7dfa9988385 (patch)
treec8718213e923c5008a8ab9d75615fb638601db9b
parent69eba008493fc9642f4e00e2f2dcf5eeef801593 (diff)
downloademacs-5350ad1dda5764b75ee962dd1b57a7dfa9988385.tar.gz
emacs-5350ad1dda5764b75ee962dd1b57a7dfa9988385.zip
Add quail-mode to default value of
minor-mode-map-alist if it is set to local variable. (quail-show-kbd-layout): Bug fixed for keys not translated.
-rw-r--r--lisp/international/quail.el24
1 files changed, 16 insertions, 8 deletions
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index 4beabf301ea..d10538375a3 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -232,6 +232,14 @@ LEIM is available from the same ftp directory as Emacs."))
232 (setq minor-mode-map-alist 232 (setq minor-mode-map-alist
233 (cons (cons 'quail-mode quail-mode-map) minor-mode-map-alist))) 233 (cons (cons 'quail-mode quail-mode-map) minor-mode-map-alist)))
234 234
235;; Since some Emacs Lisp programs (e.g. viper.el) make
236;; minor-mode-map-alist buffer-local, we must be sure to register
237;; quail-mode-map in default-value of minor-mode-map-alist.
238(if (local-variable-p 'minor-mode-map-alist)
239 (let ((map (default-value 'minor-mode-map-alist)))
240 (or (assq 'quail-mode map)
241 (set-default 'minor-mode-map-alist (cons 'quail-mode map)))))
242
235(defvar quail-translation-keymap 243(defvar quail-translation-keymap
236 (let ((map (make-keymap)) 244 (let ((map (make-keymap))
237 (i 0)) 245 (i 0))
@@ -1462,14 +1470,14 @@ key binding
1462 (setq ch (aref quail-keyboard-layout i)) 1470 (setq ch (aref quail-keyboard-layout i))
1463 (if (= ch ?\ ) 1471 (if (= ch ?\ )
1464 (insert ch) 1472 (insert ch)
1465 (let ((map (cdr (assq ch (cdr (quail-map)))))) 1473 (let* ((map (cdr (assq ch (cdr (quail-map)))))
1466 (if map 1474 (translation (and map (quail-get-translation
1467 (let ((translation 1475 map (char-to-string ch) 1))))
1468 (quail-get-translation map (char-to-string ch) 1))) 1476 (if (integerp translation)
1469 (if (integerp translation) 1477 (insert translation)
1470 (insert translation) 1478 (if (consp translation)
1471 (insert (aref (cdr translation) (car translation))))) 1479 (insert (aref (cdr translation) (car translation)))
1472 (insert ch)))) 1480 (insert ch)))))
1473 (setq i (1+ i)))) 1481 (setq i (1+ i))))
1474 (newline)) 1482 (newline))
1475 1483