changeset 93370:eaf6138f43e7

(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.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 29 Mar 2008 02:06:31 +0000
parents ed10c3092847
children b6fc476e0627
files lisp/ChangeLog lisp/term/xterm.el
diffstat 2 files changed, 18 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Mar 29 01:46:10 2008 +0000
+++ b/lisp/ChangeLog	Sat Mar 29 02:06:31 2008 +0000
@@ -1,5 +1,10 @@
 2008-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* 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.
 
--- a/lisp/term/xterm.el	Sat Mar 29 01:46:10 2008 +0000
+++ b/lisp/term/xterm.el	Sat Mar 29 02:06:31 2008 +0000
@@ -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 @@
 
 (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