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 section `The Minibuffer' in The GNU Emacs Manual).
Error messages appear in the echo area; see section Errors.
You can write output in the echo area by using the Lisp printing
functions with t
as the stream (see section Output Functions), or as
follows:
printf
control
string. See format
in section Conversion of Characters and Strings, 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 ----------
message
, but may display it
in a dialog box instead of the echo area. If this function is called in
a command that was invoked using the mouse--more precisely, if
last-nonmenu-event
(see section Information from the Command Loop) is either
nil
or a list--then it uses a dialog box or pop-up menu to
display the message. Otherwise, it uses the echo area. (This is the
same criterion that y-or-n-p
uses to make a similar decision; see
section Yes-or-No Queries.)
You can force use of the mouse or of the echo area by binding
last-nonmenu-event
to a suitable value around the call.
message
, but uses a dialog
box (or a pop-up menu) whenever that is possible. If it is impossible
to use a dialog box or pop-up menu, because the terminal does not
support them, then message-box
uses the echo area, like
message
.
nil
if there is none.
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.
(message nil)
or for any other reason.
Almost all the messages displayed in the echo area are also recorded in the `*Messages*' buffer.
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.
Go to the first, previous, next, last section, table of contents.