@end defvar
@defvar minibuffer-local-map
+This
@anchor{Definition of minibuffer-local-map}
-This is the default local keymap for reading from the minibuffer. By
+@c avoid page break at anchor; work around Texinfo deficiency
+is the default local keymap for reading from the minibuffer. By
default, it makes the following bindings:
@table @asis
duplicates, and to add @var{newelt} to the list even if it is empty.
@end defun
+@defvar history-add-new-input
+If the value of this variable is @code{nil}, standard functions that
+read from the minibuffer don't add new elements to the history list.
+This lets Lisp programs explicitly manage input history by using
+@code{add-to-history}. By default, @code{history-add-new-input} is
+set to a non-@code{nil} value.
+@end defvar
+
@defvar history-length
The value of this variable specifies the maximum length for all
history lists that don't specify their own maximum lengths. If the
If the user then types @kbd{fill-p @key{RET}}, @code{read-variable}
returns @code{fill-prefix}.
-This function is similar to @code{read-command}, but uses the
-predicate @code{user-variable-p} instead of @code{commandp}:
+In general, @code{read-variable} is similar to @code{read-command},
+but uses the predicate @code{user-variable-p} instead of
+@code{commandp}:
@cindex @code{user-variable-p} example
@example
@var{existing} is @code{nil}, then the name of a nonexistent file is
acceptable.
-The function @code{read-file-name} uses
+@code{read-file-name} uses
@code{minibuffer-local-filename-completion-map} as the keymap if
@var{existing} is @code{nil}, and uses
@code{minibuffer-local-must-match-filename-map} if @var{existing} is
This function asks the user a question, expecting input in the echo
area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the
user types @kbd{n}. This function also accepts @key{SPC} to mean yes
-and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit'', like
+and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit,'' like
@kbd{C-g}, because the question might look like a minibuffer and for
that reason the user might try to use @kbd{C-]} to get out. The answer
is a single character, with no @key{RET} needed to terminate it. Upper
When the user responds with @var{char}, @code{map-y-or-n-p} calls
@var{function}. If it returns non-@code{nil}, the object is considered
-``acted upon'', and @code{map-y-or-n-p} advances to the next object in
+``acted upon,'' and @code{map-y-or-n-p} advances to the next object in
@var{list}. If it returns @code{nil}, the prompt is repeated for the
same object.
@end defun
@defun minibuffer-prompt-end
-@tindex minibuffer-prompt-end
This function returns the current
position of the end of the minibuffer prompt, if a minibuffer is
current. Otherwise, it returns the minimum valid buffer position.
@end defun
@defun minibuffer-contents
-@tindex minibuffer-contents
This function returns the editable
contents of the minibuffer (that is, everything except the prompt) as
a string, if a minibuffer is current. Otherwise, it returns the
@end defun
@defun minibuffer-contents-no-properties
-@tindex minibuffer-contents-no-properties
This is like @code{minibuffer-contents}, except that it does not copy text
properties, just the characters themselves. @xref{Text Properties}.
@end defun
@defun minibuffer-completion-contents
-@tindex minibuffer-completion-contents
This is like @code{minibuffer-contents}, except that it returns only
the contents before point. That is the part that completion commands
operate on. @xref{Minibuffer Completion}.
@end defun
@defun delete-minibuffer-contents
-@tindex delete-minibuffer-contents
This function erases the editable contents of the minibuffer (that is,
everything except the prompt), if a minibuffer is current. Otherwise,
it erases the entire current buffer.