dequeuing functions? Such a flag could be screwed up by interrupts
at inopportune times. */
+#ifdef HAVE_MOUSE
/* If this flag is a frame, we check mouse_moved to see when the
mouse moves, and motion events will appear in the input stream.
Otherwise, mouse motion is ignored. */
((kbd_fetch_ptr == kbd_store_ptr) \
&& (! FRAMEP (do_mouse_tracking) || !mouse_moved))
+#else /* Not HAVE_MOUSE. */
+#define EVENT_QUEUES_EMPTY (kbd_fetch_ptr == kbd_store_ptr)
+#endif /* HAVE_MOUSE. */
/* Symbols to head events. */
Lisp_Object Qmouse_movement;
}
\f
+#ifdef HAVE_MOUSE
+
/* Restore mouse tracking enablement. See Ftrack_mouse for the only use
of this function. */
val = Fprogn (args);
return unbind_to (count, val);
}
+
+#endif /* HAVE_MOUSE */
\f
/* Low level keyboard/mouse input.
kbd_buffer_store_event places events in kbd_buffer, and
}
}
}
+#ifdef HAVE_MOUSE
/* Try generating a mouse motion event. */
else if (FRAMEP (do_mouse_tracking) && mouse_moved)
{
}
#endif
-#if defined (MULTI_FRAME) || defined (HAVE_MOUSE)
/* If we didn't decide to make a switch-frame event, go ahead and
return a mouse-motion event. */
if (!NILP (x) && NILP (obj))
obj = make_lispy_movement (f, bar_window, part, x, y, time);
-#endif
}
+#endif /* HAVE_MOUSE */
else
/* We were promised by the above while loop that there was
something for us to read! */
recent_keys_index = 0;
kbd_fetch_ptr = kbd_buffer;
kbd_store_ptr = kbd_buffer;
+#ifdef HAVE_MOUSE
do_mouse_tracking = Qnil;
+#endif
input_pending = 0;
#ifdef MULTI_FRAME
defsubr (&Sread_key_sequence);
defsubr (&Srecursive_edit);
+#ifdef HAVE_MOUSE
defsubr (&Strack_mouse);
+#endif
defsubr (&Sinput_pending_p);
defsubr (&Scommand_execute);
defsubr (&Srecent_keys);
and the minor mode maps regardless of `overriding-local-map'.");
Voverriding_local_map_menu_flag = Qnil;
+#ifdef HAVE_MOUSE
DEFVAR_BOOL ("track-mouse", &do_mouse_tracking,
"*Non-nil means generate motion events for mouse motion.");
+#endif
DEFVAR_LISP ("system-key-alist", &Vsystem_key_alist,
"Alist of system-specific X windows key symbols.\n\