These functions and variables deal with recursive minibuffers (see Recursive Editing):
This function returns the current depth of activations of the minibuffer, a nonnegative integer. If no minibuffers are active, it returns zero.
If this variable is non-
nil, you can invoke commands (such as
find-file) that use minibuffers even while the minibuffer is
active. Such invocation produces a recursive editing level for a new
minibuffer. By default, the outer-level minibuffer is invisible while
you are editing the inner one. If you have
minibuffer-follows-selected-frame set to
nil, you can
have minibuffers visible on several frames at the same time.
See (emacs)Basic Minibuffer.
If this variable is
nil, you cannot invoke minibuffer commands
when the minibuffer is active, not even if you switch to another window
to do it.
If a command name has a property
that is non-
nil, then the command can use the minibuffer to read
arguments even if it is invoked from the minibuffer. A command can
also achieve this by binding
t in the interactive declaration (see Using
The minibuffer command
M-s in the minibuffer) does the latter.