summaryrefslogtreecommitdiff
path: root/lisp/term/iris-ansi.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/term/iris-ansi.el')
-rw-r--r--lisp/term/iris-ansi.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/term/iris-ansi.el b/lisp/term/iris-ansi.el
index 42f0912ed2f..d751ca69057 100644
--- a/lisp/term/iris-ansi.el
+++ b/lisp/term/iris-ansi.el
@@ -331,12 +331,15 @@
(defun terminal-init-iris-ansi ()
"Terminal initialization function for iris-ansi."
- ;; Use inheritance to let the main keymap override these defaults.
- ;; This way we don't override terminfo-derived settings or settings
- ;; made in the .emacs file.
- (let ((m (copy-keymap iris-function-map)))
- (set-keymap-parent m (keymap-parent (terminal-local-value 'local-function-key-map nil)))
- (set-keymap-parent (terminal-local-value 'local-function-key-map nil) m)))
+ ;; The terminal-local stuff only need to be set up on the first
+ ;; frame on that device.
+ (when (eq 1 (length (frames-on-display-list)))
+ ;; Use inheritance to let the main keymap override these defaults.
+ ;; This way we don't override terminfo-derived settings or settings
+ ;; made in the .emacs file.
+ (let ((m (copy-keymap iris-function-map)))
+ (set-keymap-parent m (keymap-parent (terminal-local-value 'local-function-key-map nil)))
+ (set-keymap-parent (terminal-local-value 'local-function-key-map nil) m))))
;;; arch-tag: b1d0e73a-bb7d-47be-9fb2-6fb126469a1b
;;; iris-ansi.el ends here