GNU Emacs Lisp Reference Manual
The echo area is used for displaying messages made with the
message primitive, and for echoing keystrokes. It is not the
same as the minibuffer, despite the fact that the minibuffer appears
(when active) in the same place on the screen as the echo area. The
GNU Emacs Manual specifies the rules for resolving conflicts
between the echo area and the minibuffer for use of that screen space
(see Minibuffer).
Error messages appear in the echo area; see Errors.
You can write output in the echo area by using the Lisp printing
functions with t as the stream (see Output Functions), or as
follows:
printf control
string. See format in String Conversion, for the details
on the conversion specifications. message returns the
constructed string.
In batch mode, message prints the message text on the standard
error stream, followed by a newline.
If string is nil, message clears the echo area. If
the minibuffer is active, this brings the minibuffer contents back onto
the screen immediately.
(message "Minibuffer depth is %d."
(minibuffer-depth))
-| Minibuffer depth is 0.
=> "Minibuffer depth is 0."
---------- Echo Area ----------
Minibuffer depth is 0.
---------- Echo Area ----------
Almost all the messages displayed in the echo area are also recorded
in the *Messages* buffer.
*Messages*
buffer. The value t means there is no limit on how many lines to
keep. The value nil disables message logging entirely. Here's
how to display a message and prevent it from being logged:
(let (message-log-max) (message ...))
If the value is zero, then command input is not echoed.
nil, then the cursor
appears at the end of the message. Otherwise, the cursor appears at
point---not in the echo area at all.
The value is normally nil; Lisp programs bind it to t
for brief periods of time.