エコー領域(echo area)は、
基本関数message
でメッセージを表示したり、
打鍵を表示するために使われます。
(活性な)ミニバッファはエコー領域と
同じスクリーン上の位置に現れますが、
エコー領域とミニバッファは同じものではありません。
GNU Emacs マニュアルには、
エコー領域とミニバッファがスクリーンの同じ箇所を使う際の
衝突を回避する規則が述べてあります
(see ミニバッファ)。
エラーメッセージもエコー領域に現れます。
See Errors。
エコー領域に表示するには、
ストリーム(see Output Functions)として
t
を指定したLisp表示関数を使うか、あるいはつぎのようにします。
この関数は、エコー領域に1行のメッセージを表示する。 引数stringは、言語Cの
printf
の制御文字列と同様である。 書式指定について詳しくは、String Conversionのformat
を参照。message
は構築した文字列を返す。バッチモードでは、
message
はメッセージテキストと改行を 標準エラーストリームへ出力する。stringが
nil
であると、message
はエコー領域をクリアする。 ミニバッファが活性であると、 これによりミニバッファの内容がスクリーンにただちに表示される。(message "Minibuffer depth is %d." (minibuffer-depth)) -| Minibuffer depth is 0. ⇒ "Minibuffer depth is 0." ---------- Echo Area ---------- Minibuffer depth is 0. ---------- Echo Area ----------
この関数は
message
と同様にメッセージを表示するが、 エコー領域のかわりに対話ボックスを使うこともある。 この関数がマウスを用いて起動されたコマンドから呼ばれたとき、 より正確には、last-nonmenu-event
(see Command Loop Info)がnil
かリストのいずれかであると、 メッセージを表示するために対話ボックスかポップアップメニューを用いる。 さもなければエコー領域を用いる。 (これは、同様な決定をくだすy-or-n-p
の判定条件と同じである。 see Yes-or-No Queries。)呼び出しの周りで
last-nonmenu-event
に適切な値を束縛することで、 マウスを使うかエコー領域を使うか強制できる。
この関数は
message
と同様にメッセージを表示するが、 可能な限り対話ボックス(やポップアップメニュー)を使う。 対話ボックスやポップアップメニューを扱えない端末などで これらを使用できない場合には、message-box
はmessage
と同様にエコー領域を使う。
この変数は、エコー領域にメッセージを表示しているときに カーソルをどこに表示するかを制御する。
nil
以外であると、メッセージの末尾にカーソルを表示する。 さもなければ、エコー領域にではなく、ポイント位置にカーソルを表示する。この値は普通は
nil
である。 Lispプログラムはこれにt
を短い期間だけ束縛する。
エコー領域に表示したほとんどすべてのメッセージは バッファ‘*Messages*’にも記録されます。