Function: read-string
read-string is a function defined in minibuf.c.
Signature
(read-string PROMPT &optional INITIAL-INPUT HISTORY DEFAULT-VALUE INHERIT-INPUT-METHOD)
Documentation
Read and return a string from the minibuffer, prompting with PROMPT.
PROMPT is a string, which should normally end with the string ": ".
If non-nil, second arg INITIAL-INPUT is a string to insert before
reading. This argument has been superseded by DEFAULT-VALUE and should
normally be nil in new code. It behaves as INITIAL-CONTENTS in
read-from-minibuffer (which see).
The third arg HISTORY, if non-nil, specifies a history list and optionally the initial position in the list.
See read-from-minibuffer for details of HISTORY argument.
Fourth arg DEFAULT-VALUE is the default value or the list of default
values. If non-nil, it is used for history commands, and as the value
(or the first element of the list of default values) to return if the
user enters the empty string.
Fifth arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer
inherits the current input method and the setting of
enable-multibyte-characters.
Probably introduced at or before Emacs version 16.
Source Code
// Defined in /usr/src/emacs/src/minibuf.c
{
Lisp_Object val;
specpdl_ref count = SPECPDL_INDEX ();
/* Just in case we're in a recursive minibuffer, make it clear that the
previous minibuffer's completion table does not apply to the new
minibuffer.
FIXME: `minibuffer-completion-table' should be buffer-local instead. */
specbind (Qminibuffer_completion_table, Qnil);
val = Fread_from_minibuffer (prompt, initial_input, Qnil,
Qnil, history, default_value,
inherit_input_method);
if (STRINGP (val) && SCHARS (val) == 0 && ! NILP (default_value))
val = CONSP (default_value) ? XCAR (default_value) : default_value;
return unbind_to (count, val);
}