GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Initial-Input.html ・ emacs-doc.conao3.com

21.5 初期入力

ミニバッファ入力用の関数のいくつかには、initial という引数があります。これは、ミニバッファを通常の空の状態ではなく、特定のテキストで開始するように指定するための、ほぼ非推奨の機能です。

initial が文字列の場合、ユーザーがテキストの編集を開始すると、ミニバッファにはその文字列の内容が含まれ、ポイントは末尾に配置された状態で始まります。ユーザーが単に RET と入力してミニバッファを終了した場合、初期入力文字列を用いて返すべき値が決定されます。

initial に nil 以外の値を使用することは推奨しません。初期入力は干渉的なインターフェースとなるためです。履歴リストやデフォルト値を利用すれば、ユーザーに有用なデフォルト入力をより簡便に提供できます。

initial 引数に文字列を指定すべき状況は、たった一つしかありません。それは、history 引数にコンスセルを指定する場合です。ミニバッファ履歴を参照してください。

initial は、(string . position) という形式の cons セルである場合もあります。これは、ミニバッファに string を挿入しつつ、ポイントを文字列のテキスト内の position に置くことを意味します。

歴史的な経緯により、position は関数によって実装が統一されていませんでした。completing-read では、position の値は原点ゼロとして解釈されます。つまり、値が 0 であれば文字列の先頭、1 であれば最初の文字の後、といった具合になります。read-minibuffer およびこの引数をサポートするその他の非補完ミニバッファ入力関数では、1 が文字列の先頭、2 が最初の文字の後、といった具合になります。

initial 引数の値として cons セルを使用することは非推奨となっています。