のドキュメントを読んでいますがcompleting-read
、必要なことを行う方法が見つかりません。
次のように述べています。
(completing-read PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)
. . .
REQUIRE-MATCH は次の値を取ることができます。- nil は、ユーザーが任意の入力で終了できることを意味します。- 「確認」は、ユーザーが任意の入力で終了できることを意味しますが、入力が COLLECTION の要素でない場合は、選択を確認する必要があります。- `confirm-after-completion' は、ユーザーが任意の入力で終了できることを意味しますが、
`minibuffer-complete-and-exit' の直前に `minibuffer-complete'を呼び出し
、入力がコレクションの要素。- それ以外は t のように動作しますが、NULL 以外の補完を行う場合に RET を入力しても終了しない点が異なります。
私がする必要があるのは次のようなものです:
(completing-read "What kind of project should I create? "
haxe-project-kinds
(lambda (x) (message "predicate: %s" x)) t)
返された場合はエラーになるため、これは返されるべきnil
ではありませんが、最初のオプションが間違っていることに気付くまで、他のすべてのオプションをユーザーに実行させたくありません。
それ以上に、ドキュメントで宣伝されている動作は、実際に起こることと一致しません。4番目の引数の位置に何を入れてもまったく違いはありません。動作は変わりません。