The Emacs command loop is entered automatically when Emacs starts up.
Lisp programs can also invoke the command loop.
Since this makes more than one activation of the command loop, we call it recursive editing . A recursive editing level has the effect of suspending whatever command invoked it and permitting the user to do arbitrary editing before resuming that command. The commands available during recursive editing are the same ones available in the top-level editing loop and defined in the keymaps. All command loops, including recursive ones, set up all-purpose error handlers so that an error in a command run from the command loop will not exit the loop. Minibuffer input is a special kind of recursive editing.