Subject: bug#8664: Being more-systematic about user-interface timestamps

From: Eli Zaretskii <[email-masked]>
Date: Fri, 13 May 2011 11:53:37 +0300

> Date: Thu, 12 May 2011 13:26:06 -0700
> From: Paul Eggert <[email-masked]>
> 
> --- src/systime.h	2011-03-11 20:24:09 +0000
> +++ src/systime.h	2011-05-12 17:07:49 +0000
> @@ -30,6 +30,12 @@
>  #endif
>  #endif
> 
> +#ifdef HAVE_X_WINDOWS
> +# include <X11/X.h>
> +#else
> +typedef unsigned long Time;
> +#endif

Wouldn't this clash with the typedef in w32gui.h?

> --- src/menu.c	2011-05-12 06:48:32 +0000
> +++ src/menu.c	2011-05-12 16:55:07 +0000
> @@ -1147,13 +1147,13 @@
>  #else /* not HAVE_X_WINDOWS */
>  	Lisp_Object bar_window;
>  	enum scroll_bar_part part;
> -	unsigned long time;
> +	Time time;
>          void (*mouse_position_hook) (struct frame **, int,
>                                       Lisp_Object *,
>                                       enum scroll_bar_part *,
>                                       Lisp_Object *,
>                                       Lisp_Object *,
> -                                     unsigned long *) =
> +                                     Time *) =

This needs a corresponding change in all the functions used as
mouse_position_hook on different platforms.  You made such a change
only in 2 of them: term_mouse_position and XTmouse_position.