form that is evaluated to get a list of arguments to pass to the
command. Usually this form will call various functions to read input
from the user, most often through the minibuffer (@pxref{Minibuffers})
-or directly from the keyboard (@pxref{Reading Input}).
+or directly from the keyboard (@pxref{Reading Input})
Providing point or the mark as an argument value is also common, but
if you do this @emph{and} read input (whether using the minibuffer or
@end example
@end defvar
+@defvar input-event-functions
+This variable holds a list of functions to call after Emacs reads an
+event, but before any commands are run. Each function recieves a
+single argument: the event that has been read.
+
+There are normally easier hooks to use than this; in particular
+@var{pre-command-hook} is run immediately before any command resulting
+from an event. However, not all events result in a command, including
+many mouse events and some keyboard events when an input-method is
+active (@pxref{Reading Input}).
+@end defvar
+
@defmac while-no-input body@dots{}
This construct runs the @var{body} forms and returns the value of the
last one---but only if no input arrives. If any input arrives during