Go to the first, previous, next, last section, table of contents.

テキストやオブジェクトを読む

上記のように、ミニバッファの(主たる)用途はテキストを読み込むことです。このこと の(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 ----------


Go to the first, previous, next, last section, table of contents.