From b20ef5aa72c9ac27ac7a1364bce7d79abdaf6334 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 29 Mar 2008 02:06:31 +0000 Subject: [PATCH] (terminal-init-xterm): Use delete-terminal-functions. (xterm-turn-on-modify-other-keys, xterm-turn-off-modify-other-keys) (xterm-remove-modify-other-keys): Lookup terminal rather than frame in xterm-modify-other-keys-terminal-list. --- lisp/ChangeLog | 5 +++++ lisp/term/xterm.el | 27 +++++++++++++-------------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f5daece7c0a..972aa057d18 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2008-03-29 Stefan Monnier + * term/xterm.el (terminal-init-xterm): Use delete-terminal-functions. + (xterm-turn-on-modify-other-keys, xterm-turn-off-modify-other-keys) + (xterm-remove-modify-other-keys): Lookup terminal rather than frame + in xterm-modify-other-keys-terminal-list. + * vc-bzr.el (vc-bzr-state-heuristic): Fix last change for when there are conflicts. diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index 648b4fdb52d..96681cff1ce 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el @@ -500,7 +500,7 @@ (add-hook 'suspend-hook 'xterm-turn-off-modify-other-keys) (add-hook 'suspend-resume-hook 'xterm-turn-on-modify-other-keys) (add-hook 'kill-emacs-hook 'xterm-remove-modify-other-keys) - (add-hook 'delete-frame-functions 'xterm-remove-modify-other-keys) + (add-hook 'delete-terminal-functions 'xterm-remove-modify-other-keys) ;; Add the selected frame to the list of frames that ;; need to deal with modify-other-keys. (push (frame-terminal (selected-frame)) @@ -627,26 +627,25 @@ versions of xterm." (defun xterm-turn-on-modify-other-keys () "Turn on the modifyOtherKeys feature of xterm." - (let ((frame (selected-frame))) - (when (and (frame-live-p frame) - (memq frame xterm-modify-other-keys-terminal-list)) + (let ((terminal (frame-terminal (selected-frame)))) + (when (and (terminal-live-p terminal) + (memq terminal xterm-modify-other-keys-terminal-list)) (send-string-to-terminal "\e[>4;1m")))) (defun xterm-turn-off-modify-other-keys (&optional frame) "Turn off the modifyOtherKeys feature of xterm." - (setq frame (and frame (selected-frame))) - (when (and (frame-live-p frame) - (memq frame xterm-modify-other-keys-terminal-list)) - (send-string-to-terminal "\e[>4m"))) + (let ((terminal (when frame (frame-terminal frame)))) + (when (and (frame-live-p terminal) + (memq terminal xterm-modify-other-keys-terminal-list)) + (send-string-to-terminal "\e[>4m")))) -(defun xterm-remove-modify-other-keys (&optional frame) +(defun xterm-remove-modify-other-keys (&optional terminal) "Turn off the modifyOtherKeys feature of xterm and remove frame from consideration." - (setq frame (and frame (selected-frame))) - (when (and (frame-live-p frame) - (memq frame xterm-modify-other-keys-terminal-list)) + (setq terminal (and terminal (frame-terminal (selected-frame)))) + (when (and (terminal-live-p terminal) + (memq terminal xterm-modify-other-keys-terminal-list)) (setq xterm-modify-other-keys-terminal-list - (delq (frame-terminal frame) - xterm-modify-other-keys-terminal-list)) + (delq terminal xterm-modify-other-keys-terminal-list)) (send-string-to-terminal "\e[>4m"))) ;; arch-tag: 12e7ebdd-1e6c-4b25-b0f9-35ace25e855a -- 2.39.2