comparison lisp/subr.el @ 83394:7d093d9d4479

Fix semantics of terminal-local variables. Remove `terminal-local-value' hack. * src/data.c (do_symval_forwarding, store_symval_forwarding) (find_symbol_value): Use the selected frame's keyboard, not current_kboard. * src/data.c (Fterminal_local_value, Fset_terminal_local_value): Disable these functions. * src/data.c (syms_of_data): Don't defsubr them. * lisp/edmacro.el (edmacro-format-keys): Remove terminal-local-value calls. * lisp/emulation/cua-base.el (cua--pre-command-handler-1): Ditto. * lisp/international/encoded-kb.el (encoded-kbd-setup-display): Ditto. * lisp/isearch.el (isearch-other-meta-char): Ditto. * lisp/obsolete/keyswap.el (the-table): Ditto. * lisp/simple.el (normal-erase-is-backspace-mode): Ditto. * lisp/subr.el (keyboard-translate, read-quoted-char): Ditto. * lisp/term/AT386.el (terminal-init-AT386): Ditto. * lisp/term/internal.el: Ditto. * lisp/term/iris-ansi.el (terminal-init-iris-ansi): Ditto. * lisp/term/lk201.el (terminal-init-lk201): Ditto. * lisp/term/mac-win.el: Ditto. * lisp/term/news.el (terminal-init-news): Ditto. * lisp/term/rxvt.el (terminal-init-rxvt): Ditto. * lisp/term/sun.el (terminal-init-sun): Ditto. * lisp/term/tvi970.el (terminal-init-tvi970): Ditto. * lisp/term/vt200.el (terminal-init-vt200): Ditto. * lisp/term/vt201.el (terminal-init-vt201): Ditto. * lisp/term/vt220.el (terminal-init-vt220): Ditto. * lisp/term/vt240.el (terminal-init-vt240): Ditto. * lisp/term/vt300.el (terminal-init-vt300): Ditto. * lisp/term/vt320.el (terminal-init-vt320): Ditto. * lisp/term/vt400.el (terminal-init-vt400): Ditto. * lisp/term/vt420.el (terminal-init-vt420): Ditto. * lisp/term/wyse50.el (terminal-init-wyse50): Ditto. * lisp/term/x-win.el (x-setup-function-keys): Ditto. * lisp/term/xterm.el (terminal-init-xterm): Ditto. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-434
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 29 Oct 2005 11:50:12 +0000
parents 2fdf37d06e0c
children b31326248cf6
comparison
equal deleted inserted replaced
83393:38af4e693f4e 83394:7d093d9d4479
493 493
494 (defun keyboard-translate (from to) 494 (defun keyboard-translate (from to)
495 "Translate character FROM to TO at a low level. 495 "Translate character FROM to TO at a low level.
496 This function creates a `keyboard-translate-table' if necessary 496 This function creates a `keyboard-translate-table' if necessary
497 and then modifies one entry in it." 497 and then modifies one entry in it."
498 (let (tbl (terminal-local-value 'keyboard-translate-table)) 498 (or (char-table-p keyboard-translate-table)
499 (or (char-table-p tbl) 499 (setq keyboard-translate-table (make-char-table 'keyboard-translate-table nil)))
500 (setq tbl (make-char-table 'keyboard-translate-table nil))) 500 (aset keyboard-translate-table from to))
501 (aset tbl from to)))
502 501
503 502
504 ;;;; The global keymap tree. 503 ;;;; The global keymap tree.
505 504
506 ;;; global-map, esc-map, and ctl-x-map have their values set up in 505 ;;; global-map, esc-map, and ctl-x-map have their values set up in
1168 ;; Note: `read-char' does it using the `ascii-character' property. 1167 ;; Note: `read-char' does it using the `ascii-character' property.
1169 ;; We could try and use read-key-sequence instead, but then C-q ESC 1168 ;; We could try and use read-key-sequence instead, but then C-q ESC
1170 ;; or C-q C-x might not return immediately since ESC or C-x might be 1169 ;; or C-q C-x might not return immediately since ESC or C-x might be
1171 ;; bound to some prefix in function-key-map or key-translation-map. 1170 ;; bound to some prefix in function-key-map or key-translation-map.
1172 (setq translated char) 1171 (setq translated char)
1173 (let ((translation (lookup-key (terminal-local-value 'local-function-key-map nil) 1172 (let ((translation (lookup-key local-function-key-map (vector char))))
1174 (vector char))))
1175 (if (arrayp translation) 1173 (if (arrayp translation)
1176 (setq translated (aref translation 0)))) 1174 (setq translated (aref translation 0))))
1177 (cond ((null translated)) 1175 (cond ((null translated))
1178 ((not (integerp translated)) 1176 ((not (integerp translated))
1179 (setq unread-command-events (list char) 1177 (setq unread-command-events (list char)