上記のように、ミニバッファの(主たる)用途はテキストを読み込むことです。このこと の(1つの)拡張として、テキストを Lisp オブジェクトとして扱い、それを返すことが あります。
Function: read-from-minibuffer prompt &optional initial keymap read
この primitive 関数は、ミニバッファで入力を行なう(たぶん)最も一般的な方法 です。: これは任意のストリングを読み込み、それを返します。最初に prompt を ミニバッファに表示します。次に initial が non-nil の場合、これをミニバッ ファに挿入します (initial を与える場合、それはストリングでなくてはいけませ ん)。 initial はユーザー入力の一部になります。これは普通にエディットできま す。
keymap が与えられた場合、これは読み込みの際用いるローカルキーマップになり ます。与えられない場合や nil の場合、キーマップ minibuffer-local-map を用 います。
(最後に) read が与えられた場合、(Emacs は)その結果を Lisp オブジェクトと解 釈し、そのオブジェクトを(評価せずに)返します。
(read-from-minibuffer "What is the answer?" "No") => "Nope" ---------- Buffer: Minibuffer ---------- What is the answer? No ---------- Buffer: Minibuffer ----------
(read-from-minibuffer "What is the answer?" "No" nil t) => Never
---------- Buffer: Minibuffer ---------- What is the answer? No ---------- Buffer: Minibuffer ----------
Function: read-minibuffer prompt &optional initial
この関数は、Lisp オブジェクト名(訳注:??)をミニバッファに読み込み、それを 返します。 prompt と initial は read-from-minibuffer のものと同じです。
この関数は、read-from-minibuffer の呼び出しを簡単にした(訳注:simplify) も のです。
(read-minibuffer prompt initial) == (read-from-minibuffer prompt initial nil t)
Function: eval-minibuffer prompt &optional initial
この関数は、Lisp 式をミニバッファに読み込んで評価し、その結果を返します。 prompt と initial は read-from-minibuffer のものと同じです。
この関数は、read-minibuffer の呼び出し結果を評価するだけです。
(eval-minibuffer prompt initial) == (eval (read-minibuffer prompt initial))
Function: read-string prompt &optional initial
この関数は、ミニバッファからストリングを読み込み、それを返します。 prompt と initial は read-from-minibuffer のものと同じです。
この関数は、read-from-minibuffer の呼び出しを簡単にしたものです。
(read-string primpt initial) == (read-from-minibuffer prompt initial nil nil)
Function: read-no-blanks-input prompt &optional initial
この関数は、(空白を許さず) ミニバッファからストリングを読み込みます。 prompt と initial は read-from-minibuffer のものと同じです。空白をタイプす ると、ミニバッファを exit します。
この関数は、read-from-minibuffer の呼び出しを簡単にしたものです。キーマッ プ minibuffer-local-ns-map を用います。 quoted-insert を(再)定義しないた め、ストリング中にスペースを入れることができます。
(read-no-blanks-input primpt initial) == (read-from-minibuffer prompt initial minibuffer-local-ns-map)
Variable: minibuffer-local-ns-map
この変数は、入力中にスペースを許す時に用いるキーマップです。これは(デフォ ルトで)以下のキーを定義します。
LFD exit-minibuffer SPC exit-minibuffer TAB exit-minibuffer RET exit-minibuffer C-G abort-recursive-edit ? self-insert-and-exit
Function: edit-and-eval-command prompt form
この関数は、ミニバッファに(完全な) Lisp 式を読み込み、それを評価します。プ
ロンプトとして prompt をミニバッファに入れ、 (read-minibuffer における initial のように) form を(入力として)ミニバッファに挿入します。ユーザーが ミニバッファを exit する際、新しく作られたフォームを評価します。
次の例において、ユーザーはフォームをエディットし (完全な)関数呼び出し (forward-word 1) を作ります。これを実行すると、ポイントは 1 word 動かされ ます。
(edit-and-eval-command "Please edit: " '(forward-)) => nil
---------- Buffer: Minibuffer ---------- Please edit: (forwar-) ---------- Buffer: Minibuffer ----------
Function: read-command prompt
この primitive 関数は、コマンド名を読み込み、それを Lisp シンボルとして返 します。 prompt は read-from-minibuffer のものと同じです。コマンドは(単に) interactive calling 指示を持つ関数であることを思い出して下さい。
以下に示したように、read-command は (commandp プレディケートを用い)コマン ドのみの入力を許すよう completing-read を簡単にしたものです。 completion は次のセクションのテーマです。
(read-command prompt) == (intern (completing-read prompt obarray 'commandp t nil))
(read-command "Command name? ") => forward-char ---------- Buffer: Minibuffer ---------- Command name? RET ---------- Buffer: Minibuffer ----------
Function: read-variable prompt
この primitive 関数は、ユーザー変数の名前を読み込み、それをシンボルとして 返します。この関数は read-command に対応しています。 commandp のかわりにプ レディケート user-variable-p を用います。
(read-variable prompt) == (intern (completing-read prompt obarray 'user-variable-p t nil))
(read-variable "Variable name? ") => fill-prefix ---------- Buffer: Minibuffer ---------- Variable name? ---------- Buffer: Minibuffer ----------
Function: read-function prompt
この primitive 関数は、関数の名前を読み込み、それをシンボルとして返しま す。この関数は read-command に対応しています。 commandp のかわりにプレディ ケート fboundp を用います。
(read-function prompt) == (intern (completing-read prompt obarray 'fboundp t nil))
(read-variable "Function name? ") => fboundp ---------- Buffer: Minibuffer ---------- Function name? ---------- Buffer: Minibuffer ----------
Function: read-buffer prompt &optional default existing
この primitive 関数は、バッファの名前を読み込み、それをシンボルとして返し ます。 (与える場合はストリングでなくてはいけない) default をプロンプトとと もに表示し、ユーザーがそのまま exit した場合に返す値とします。 (このため) default は read-from-minibuffer の意味での初期値ではありません。 existing が non-nil の場合、ユーザーのタイプした名前は(既存の)バッファ名でなくては いけません( existing が non-nil であっても defalt は既存のバッファ名である 必要はありません)。
この関数は、completing-read を簡単に呼べるようにしたものです。
(read-buffer prompt nil existing) == (completing-read prompt (buffer-list) nil existing nil)
(read-buffer "Buffer name? " "foo" t) => "minibuffer.texinfo" ---------- Buffer: Minibuffer ---------- Function name? (default foo) RET ---------- Buffer: Minibuffer ----------