1.2 The Echo Area
The line at the very bottom of the frame is the echo area. It is used to display small amounts of text for various purposes.
The echo area is so-named because one of the things it is used for is echoing, which means displaying the characters of a multi-character command as you type. Single-character commands are not echoed. Multi-character commands (see Keys) are echoed if you pause for more than a second in the middle of a command. Emacs then echoes all the characters of the command so far, to prompt you for the rest. Once echoing has started, the rest of the command echoes immediately as you type it. This behavior is designed to give confident users fast response, while giving hesitant users maximum feedback.
The echo area is also used to display an error message when a command cannot do its job. Error messages may be accompanied by beeping or by flashing the screen.
Some commands display informative messages in the echo area to tell you what the command has done, or to provide you with some specific information. These informative messages, unlike error messages, are not accompanied with a beep or flash. For example, C-x =
(hold down Ctrl
and type x
, then let go of Ctrl
and type =
) displays a message describing the character at point, its position in the buffer, and its current column in the window. Commands that take a long time often display messages ending in ‘...
’ while they are working (sometimes also indicating how much progress has been made, as a percentage), and add ‘done
’ when they are finished.
Informative echo area messages are saved in a special buffer named *Messages*
. (We have not explained buffers yet; see Buffers, for more information about them.) If you miss a message that appeared briefly on the screen, you can switch to the *Messages*
buffer to see it again. The *Messages*
buffer is limited to a certain number of lines, specified by the variable message-log-max
. (We have not explained variables either; see Variables, for more information about them.) Beyond this limit, one line is deleted from the beginning whenever a new message line is added at the end.
See Display Custom, for options that control how Emacs uses the echo area.
The echo area is also used to display the minibuffer, a special window where you can input arguments to commands, such as the name of a file to be edited. When the minibuffer is in use, the text displayed in the echo area begins with a prompt string, and the active cursor appears within the minibuffer, which is temporarily considered the selected window. You can always get out of the minibuffer by typing C-g
. See Minibuffer.