20.13 Recursive Minibuffers
These functions and variables deal with recursive minibuffers (see Recursive Editing):
function
minibuffer-depth​
This function returns the current depth of activations of the minibuffer, a nonnegative integer. If no minibuffers are active, it returns zero.
user option
enable-recursive-minibuffers​
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. The outer-level minibuffer is invisible while you are editing the inner one.
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 enable-recursive-minibuffers
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 enable-recursive-minibuffers
to t
in the interactive declaration (see Using Interactive). The minibuffer command next-matching-history-element
(normally M-s
in the minibuffer) does the latter.