1.2 The Echo Area
The line at the bottom of the frame (below the mode line) is the
echo area. It is used to display small amounts of text for
various purposes.
Echoing means displaying the characters that you type. At the
command line, the operating system normally echoes all your input.
Emacs handles echoing differently.
Single-character commands do not echo in Emacs, and multi-character
commands echo only if you pause while typing them. As soon as you pause
for more than a second in the middle of a command, Emacs echoes all the
characters of the command so far. This is to prompt you for the
rest of the command. 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. You can change this behavior by setting a variable
(see Display Custom).
If a command cannot be executed, it may display an error message
in the echo area. Error messages are accompanied by beeping or by
flashing the screen. The error also discards any input you have typed
ahead.
Some commands display informative messages in the echo area. These
messages look much like error messages, but they are not announced
with a beep and do not throw away input. Sometimes the message tells
you what the command has done, when this is not obvious from looking
at the text being edited. Sometimes the sole purpose of a command is
to show you a message giving you specific information—for example,
C-x = (hold down <CTRL> and type x, then let go of
<CTRL> and type =) displays a message describing the
character position of point in the text and its current column in the
window. Commands that take a long time often display messages ending
in ‘...’ while they are working, and add ‘done’ at the end
when they are finished.
Echo-area informative messages are saved in an editor buffer named
‘*Messages*’. (We have not explained buffers yet; see
Buffers, for more information about them.) If you miss a message
that appears briefly on the screen, you can switch to the
‘*Messages*’ buffer to see it again. (Successive progress messages
are often collapsed into one in that buffer.)
The size of ‘*Messages*’ is limited to a certain number of lines.
The variable message-log-max
specifies how many lines. Once the
buffer has that many lines, each line added at the end deletes one line
from the beginning. See Variables, for how to set variables such as
message-log-max
.
The echo area is also used to display the minibuffer, a window that
is used for reading arguments to commands, such as the name of a file to be
edited. When the minibuffer is in use, the echo area begins with a prompt
string that usually ends with a colon; also, the cursor appears in that line
because it is the selected window. You can always get out of the
minibuffer by typing C-g. See Minibuffer.