The minibuffer input functions read-from-minibuffer
and
completing-read
have new features.
A new optional argument hist specifies which history list to use.
If you specify a variable (a symbol), that variable is the history
list. If you specify a cons cell (variable
. startpos)
, then variable is the history list variable,
and startpos specifies the initial history position (an integer,
counting from zero which specifies the most recent element of the
history).
If you specify startpos, then you should also specify that element of the history as initial-input, for consistency.
If you don't specify hist, then the default history list
minibuffer-history
is used. Other standard history lists that
you can use when appropriate include query-replace-history
,
command-history
, and file-name-history
.
The value of the history list variable is a list of strings, most recent
first. You should set a history list variable to nil
before
using it for the first time.
read-from-minibuffer
and completing-read
add new elements
to the history list automatically, and provide commands to allow the
user to reuse items on the list. The only thing your program needs to
do to use a history list is to initialize it and to pass its name to the
input functions when you wish. But it is safe to modify the list by
hand when the minibuffer input functions are not using it.
The initial argument to read-from-minibuffer
and other
minibuffer input functions can now be a cons cell (string
. position)
. This means to start off with string in the
minibuffer, but put the cursor position characters from the
beginning, rather than at the end.
In read-no-blanks-input
, the initial argument is now
optional; if it is omitted, the initial input string is the empty
string.