# HG changeset patch # User Chong Yidong # Date 1157724868 0 # Node ID f6b18b9949d1b491cae27960ba463c90119ff3c6 # Parent 7aa792eb8367789b5733287e99969207e9b25230 * xdisp.c (mouse_autoselect_window): Removed. (Vmouse_autoselect_window): New variable. DEFVAR_LISP it. * dispextern.h (mouse_autoselect_window): Remove extern. (Vmouse_autoselect_window): Add extern. * macterm.c (XTread_socket): Test Vmouse_autoselect_window instead of mouse_autoselect_window. * msdos.c (dos_rawgetc): Likewise. * w32term.c (w32_read_socket): Likewise. * xterm.c (handle_one_xevent): Likewise. diff -r 7aa792eb8367 -r f6b18b9949d1 src/ChangeLog --- a/src/ChangeLog Fri Sep 08 13:25:26 2006 +0000 +++ b/src/ChangeLog Fri Sep 08 14:14:28 2006 +0000 @@ -1,3 +1,20 @@ +2006-08-27 Martin Rudalics + + * xdisp.c (mouse_autoselect_window): Removed. + (Vmouse_autoselect_window): New variable. DEFVAR_LISP it. + + * dispextern.h (mouse_autoselect_window): Remove extern. + (Vmouse_autoselect_window): Add extern. + + * macterm.c (XTread_socket): Test Vmouse_autoselect_window + instead of mouse_autoselect_window. + + * msdos.c (dos_rawgetc): Likewise. + + * w32term.c (w32_read_socket): Likewise. + + * xterm.c (handle_one_xevent): Likewise. + 2006-09-08 Richard Stallman * xdisp.c (Vmenu_updating_frame): Define here. diff -r 7aa792eb8367 -r f6b18b9949d1 src/dispextern.h --- a/src/dispextern.h Fri Sep 08 13:25:26 2006 +0000 +++ b/src/dispextern.h Fri Sep 08 14:14:28 2006 +0000 @@ -2690,7 +2690,7 @@ extern int help_echo_pos; extern struct frame *last_mouse_frame; extern int last_tool_bar_item; -extern int mouse_autoselect_window; +extern Lisp_Object Vmouse_autoselect_window; extern int unibyte_display_via_language_environment; extern void reseat_at_previous_visible_line_start P_ ((struct it *)); diff -r 7aa792eb8367 -r f6b18b9949d1 src/macterm.c --- a/src/macterm.c Fri Sep 08 13:25:26 2006 +0000 +++ b/src/macterm.c Fri Sep 08 14:14:28 2006 +0000 @@ -10653,7 +10653,7 @@ else { /* Generate SELECT_WINDOW_EVENTs when needed. */ - if (mouse_autoselect_window) + if (!NILP (Vmouse_autoselect_window)) { Lisp_Object window; diff -r 7aa792eb8367 -r f6b18b9949d1 src/msdos.c --- a/src/msdos.c Fri Sep 08 13:25:26 2006 +0000 +++ b/src/msdos.c Fri Sep 08 14:14:28 2006 +0000 @@ -3381,7 +3381,7 @@ } /* Generate SELECT_WINDOW_EVENTs when needed. */ - if (mouse_autoselect_window) + if (!NILP (Vmouse_autoselect_window)) { mouse_window = window_from_coordinates (SELECTED_FRAME(), mouse_last_x, diff -r 7aa792eb8367 -r f6b18b9949d1 src/w32term.c --- a/src/w32term.c Fri Sep 08 13:25:26 2006 +0000 +++ b/src/w32term.c Fri Sep 08 14:14:28 2006 +0000 @@ -4298,7 +4298,7 @@ if (f) { /* Generate SELECT_WINDOW_EVENTs when needed. */ - if (mouse_autoselect_window) + if (!NILP (Vmouse_autoselect_window)) { Lisp_Object window; int x = LOWORD (msg.msg.lParam); diff -r 7aa792eb8367 -r f6b18b9949d1 src/xdisp.c --- a/src/xdisp.c Fri Sep 08 13:25:26 2006 +0000 +++ b/src/xdisp.c Fri Sep 08 14:14:28 2006 +0000 @@ -256,9 +256,9 @@ Lisp_Object Vfontification_functions; Lisp_Object Qfontification_functions; -/* Non-zero means automatically select any window when the mouse +/* Non-nil means automatically select any window when the mouse cursor moves into it. */ -int mouse_autoselect_window; +Lisp_Object Vmouse_autoselect_window; /* Non-zero means draw tool bar buttons raised when the mouse moves over them. */ @@ -24019,9 +24019,22 @@ See `set-window-redisplay-end-trigger'. */); Vredisplay_end_trigger_functions = Qnil; - DEFVAR_BOOL ("mouse-autoselect-window", &mouse_autoselect_window, - doc: /* *Non-nil means autoselect window with mouse pointer. */); - mouse_autoselect_window = 0; + DEFVAR_LISP ("mouse-autoselect-window", &Vmouse_autoselect_window, + doc: /* *Non-nil means autoselect window with mouse pointer. +If nil, do not autoselect windows. +A positive number means delay autoselection by that many seconds: a +window is autoselected only after the mouse has remained in that +window for the duration of the delay. +A negative number has a similar effect, but causes windows to be +autoselected only after the mouse has stopped moving. \(Because of +the way Emacs compares mouse events, you will occasionally wait twice +that time before the window gets selected.\) +Any other value means to autoselect window instantaneously when the +mouse pointer enters it. + +Autoselection selects the minibuffer only if it is active, and never +unselects the minibuffer if it is active. */); + Vmouse_autoselect_window = Qnil; DEFVAR_BOOL ("auto-resize-tool-bars", &auto_resize_tool_bars_p, doc: /* *Non-nil means automatically resize tool-bars. diff -r 7aa792eb8367 -r f6b18b9949d1 src/xterm.c --- a/src/xterm.c Fri Sep 08 13:25:26 2006 +0000 +++ b/src/xterm.c Fri Sep 08 14:14:28 2006 +0000 @@ -6583,7 +6583,7 @@ { /* Generate SELECT_WINDOW_EVENTs when needed. */ - if (mouse_autoselect_window) + if (!NILP (Vmouse_autoselect_window)) { Lisp_Object window;