@node Using Interactive
@subsection Using @code{interactive}
@cindex arguments, interactive entry
+@cindex interactive spec, using
This section describes how to write the @code{interactive} form that
makes a Lisp function an interactively-callable command, and how to
@node Distinguish Interactive
@section Distinguish Interactive Calls
+@cindex distinguish interactive calls
+@cindex is this call interactive
Sometimes a command should display additional visual feedback (such
as an informative message in the echo area) for interactive calls
@node Command Loop Info
@section Information from the Command Loop
+@cindex command loop variables
The editor command loop sets several Lisp variables to keep status
records for itself and for commands that are run. With the exception of
@node Classifying Events
@subsection Classifying Events
@cindex event type
+@cindex classifying events
Every event has an @dfn{event type}, which classifies the event for
key binding purposes. For a keyboard event, the event type equals the
@node Event Mod
@subsection Modifying and Translating Input Events
+@cindex modifiers of events
+@cindex translating input events
+@cindex event translation
Emacs modifies every event it reads according to
@code{extra-keyboard-modifiers}, then translates it through
@node Invoking the Input Method
@subsection Invoking the Input Method
+@cindex invoking input method
The event-reading functions invoke the current input method, if any
(@pxref{Input Methods}). If the value of @code{input-method-function}