Mercurial > emacs
diff lisp/international/encoded-kb.el @ 83417:fe870a866ce7
Don't let x_initialize break 8-bit input on ttys. (Reported by Joakim Verona.) Split `set-input-mode'.
* lisp/international/encoded-kb.el (encoded-kbd-setup-display): Use `set-input-meta-mode'.
* lisp/linux.el (terminal-init-linux): Ditto.
* src/keyboard.c (Fset_input_interrupt_mode, Fset_output_flow_control)
(syms_of_keyboard): Defsubr them.
(Fset_input_meta_mode, Fset_quit_char): New functions.
(Fset_input_mode): Split to above functions.
* lisp.h: EXFUN the new functions.
* xterm.c (x_initialize): Use Fset_input_interrupt_mode.
* macterm.c (mac_initialize): Ditto.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-457
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Fri, 23 Dec 2005 03:00:55 +0000 |
parents | 7d093d9d4479 |
children | 17e0dd217877 |
line wrap: on
line diff
--- a/lisp/international/encoded-kb.el Thu Dec 22 21:02:45 2005 +0000 +++ b/lisp/international/encoded-kb.el Fri Dec 23 03:00:55 2005 +0000 @@ -276,25 +276,22 @@ result) (set-keymap-parent keymap local-key-translation-map) (setq local-key-translation-map keymap) - (unless (terminal-parameter nil 'encoded-kbd-saved-input-mode) - (set-terminal-parameter nil 'encoded-kbd-saved-input-mode cim)) + (unless (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode) + (set-terminal-parameter nil 'encoded-kbd-saved-input-mode (nth 2 cim))) (setq result (and coding (encoded-kbd-setup-keymap keymap coding))) (if result (when (and (eq result 8) (memq (nth 2 cim) '(t nil))) - (set-input-mode - (nth 0 cim) - (nth 1 cim) - 'use-8th-bit - (nth 3 cim))) - (set-terminal-parameter nil 'encoded-kbd-saved-input-mode nil) + (set-input-meta-mode 'use-8th-bit)) + (set-terminal-parameter nil 'encoded-kbd-saved-input-meta-mode nil) (error "Unsupported coding system in Encoded-kbd mode: %S" coding))) ;; We are turning off Encoded-kbd mode. - (unless (equal (current-input-mode) - (terminal-parameter nil 'encoded-kbd-saved-input-mode)) - (apply 'set-input-mode (terminal-parameter nil 'encoded-kbd-saved-input-mode))) - (set-terminal-parameter nil 'saved-input-mode nil)))))) + (when (and (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode) + (not (equal (nth 2 (current-input-mode)) + (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode)))) + (set-input-meta-mode (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode))) + (set-terminal-parameter nil 'saved-input-meta-mode nil)))))) (provide 'encoded-kb)