changeset 72736:f6b18b9949d1

* 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.
author Chong Yidong <cyd@stupidchicken.com>
date Fri, 08 Sep 2006 14:14:28 +0000
parents 7aa792eb8367
children 455031002c62
files src/ChangeLog src/dispextern.h src/macterm.c src/msdos.c src/w32term.c src/xdisp.c src/xterm.c
diffstat 7 files changed, 40 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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  <rudalics@gmx.at>
+
+	* 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  <rms@gnu.org>
 
 	* xdisp.c (Vmenu_updating_frame): Define here.
--- 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 *));
--- 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;
 
--- 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,
--- 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);
--- 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.
--- 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;