+2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * xt-mouse.el (xterm-mouse-mode): Re-enable suspend-tty-functions.
+
2007-09-21 Juanma Barranquero <lekktu@gmail.com>
* frame.el (suspend-frame): Call `iconify-or-deiconify-frame' also
(add-hook 'delete-frame-functions 'xterm-mouse-handle-delete-frame)
;; Restore normal mouse behaviour outside Emacs.
-
- ;; Temporarily disable this hook, it does not work, when
- ;; `suspend-tty' calls `suspend-tty-functions' the tty->output
- ;; is already set to 0 so the 'send-string-to-terminal' call
- ;; in `turn-off-xterm-mouse-tracking-on-terminal' will result
- ;; in a crash.
- ;; (add-hook 'suspend-tty-functions
- ;; 'turn-off-xterm-mouse-tracking-on-terminal)
-
+ (add-hook 'suspend-tty-functions
+ 'turn-off-xterm-mouse-tracking-on-terminal)
(add-hook 'resume-tty-functions
'turn-on-xterm-mouse-tracking-on-terminal)
(add-hook 'suspend-hook 'turn-off-xterm-mouse-tracking)
(remove-hook 'after-make-frame-functions
'turn-on-xterm-mouse-tracking-on-terminal)
(remove-hook 'delete-frame-functions 'xterm-mouse-handle-delete-frame)
- ;; (remove-hook 'suspend-tty-functions
- ;; 'turn-off-xterm-mouse-tracking-on-terminal)
+ (remove-hook 'suspend-tty-functions
+ 'turn-off-xterm-mouse-tracking-on-terminal)
(remove-hook 'resume-tty-functions
'turn-on-xterm-mouse-tracking-on-terminal)
(remove-hook 'suspend-hook 'turn-off-xterm-mouse-tracking)
+2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
+ up the tty state.
+
2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
* termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
if (f)
{
+ /* First run `suspend-tty-functions' and then clean up the tty
+ state because `suspend-tty-functions' might need to change
+ the tty state. */
+ if (!NILP (Vrun_hooks))
+ {
+ Lisp_Object args[2];
+ args[0] = intern ("suspend-tty-functions");
+ XSETTERMINAL (args[1], t);
+ Frun_hook_with_args (2, args);
+ }
+
reset_sys_modes (t->display_info.tty);
delete_keyboard_wait_descriptor (fileno (f));
if (FRAMEP (t->display_info.tty->top_frame))
FRAME_SET_VISIBLE (XFRAME (t->display_info.tty->top_frame), 0);
- /* Run `suspend-tty-functions'. */
- if (!NILP (Vrun_hooks))
- {
- Lisp_Object args[2];
- args[0] = intern ("suspend-tty-functions");
- XSETTERMINAL (args[1], t);
- Frun_hook_with_args (2, args);
- }
}
/* Clear display hooks to prevent further output. */