execute-extended-command prefix-argument Comamnd
この primitive 関数は、(completion を用いて)ミニバッファからコマンド名を読 み込み、実行します。
実行されるコマンドは "インタラクティブに実行される" と見なされるため、アー ギュメントを必要とする場合(訳注:そのアーギュメントは)コマンドの interactive specification に基づいて読み込まれます。チャプター 17 [interactive]、ページ 138 参照。
これは、 prefix-argument を(プレフィックスアーギュメントとして)実行する関 数に渡します。 execute-extended-command がインタラクティブに呼ばれた場合、 prefix-argument は(未処理の)プレフィックスアーギュメントになります。
以下に示した例は forward-word を実行したのと同じになります(訳注:??)。`M-X ' は入力を求めるプロンプトで (通常、execute-extended-command がバインドさ れる) META-x を表わしています。実際に execute-extended-command を起動する キーシーケンスとは無関係に表示します。
(execute-extended-command 1) => t
---------- Buffer: minibuffer ---------- M-x ---------- Buffer: minibuffer ----------
Function: y-or-n-p prompt
この関数は、(ミニバッファへの入力を求め)ユーザーに対し質問を行ないます。
ユーザーが y をタイプすると t を返し、n をタイプすると nil を返します。答 えは、 1文字のみでリターンは必要とされません。 (また) SPC は yes を意味す るものとして、 DEL は no を意味するものとして受け取られます。大文字と小文 字は同値(訳注:equivalent)ではありません。
prompt にストリング `(y or n)' を繋げて、エコーエリアに表示します。入力が 正しいものでない場合、`Please answer y or n.' を表示した後、前のプロンプト を繰り返します。
以下に示した例において、ユーザーは(最初) 誤まって q をタイプしています。次 のプロンプトで n をタイプします。ここでは、ミニバッファのプロンプト行を並 べて示しています。実際には、(常に) 1行づつ表示されます。
(y-or-n-p "Do you need a lift? ") ---------- Buffer: minibuffer ---------- Do you need a lift? (y or n) Please answer y or n. Do you need a lift? (y or n) ---------- Buffer: minibuffer ---------- => nil
Function: yes-or-no-p prompt
この関数は、(ミニバッファへの入力を求め)ユーザーに対し質問を行ないます。 ユーザーが yes をタイプすると t を返し、no をタイプすると nil を返します。 答えは、最後にリターンをタイプしなくてはいけません。大文字と小文字は同値 (訳注:equivalent)ではありません。
prompt にストリング `(yes or no)' を繋げて、エコーエリアに表示します。ユー ザーは正しい応答を 1つタイプしなくてはいけません。正しい応答でない場合、こ の関数は `Please answer yes or no.' と表示した後 2 秒ほど待ち、前のプロン プトを繰り返します。
以下の例において、ユーザーは最初 (word の yes 全体ではなく) 誤まって y を タイプしています。この y はこの関数で消され、2 番目のプロンプトが出されま す。そこでユーザーは yes RET をタイプしています。
(yes-or-no-p "Do you really want to remove your entire directory? ") ---------- Buffer: minibuffer ---------- Do you really want to remove your entire directory? (yes or no) RET Please answer yes or no. Do you really want to remove your entire directory? (yes or no) RET ---------- Buffer: minibuffer ---------- => t
Function: message string &rest arguments
この関数は、エコーエリアにメッセージを 1行表示します。 string は printf 制 御ストリングに似ています。制御ストリングの詳細に関しては、セクション 5.3 [format]、ページ 45 を参照して下さい。
(message "Minibuffer depth is %d." (minibuffer-depth)) => "The beginning is near!"
---------- Echo Area ----------