# HG changeset patch # User Stefan Monnier # Date 1206756391 0 # Node ID eaf6138f43e7021895e26bd803ae11f717283cfd # Parent ed10c3092847ba702add66c6fbbcb4802cd29bb7 (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. diff -r ed10c3092847 -r eaf6138f43e7 lisp/ChangeLog --- 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 + * 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 -r ed10c3092847 -r eaf6138f43e7 lisp/term/xterm.el --- 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