这些函数和变量用于处理递归迷你缓冲区(see 递归编辑):
该函数返回当前迷你缓冲区的激活深度,为一个非负整数。 如果没有迷你缓冲区处于激活状态,则返回 0。
如果该变量非 nil,那么即使迷你缓冲区已激活,
你仍然可以调用使用迷你缓冲区的命令(如 find-file)。
这种调用会为新的迷你缓冲区产生一个递归编辑层级。
默认情况下,编辑内层迷你缓冲区时,外层迷你缓冲区不可见。
如果将 minibuffer-follows-selected-frame 设置为 nil,
则可以在多个框架上同时显示迷你缓冲区。
See (emacs)Basic Minibuffer。
如果该变量为 nil,则当迷你缓冲区激活时,
你无法调用迷你缓冲区相关命令,即使切换到其他窗口也不行。
如果某个命令名具有非 nil 的
enable-recursive-minibuffers 属性,
那么即使从迷你缓冲区中调用该命令,它仍然可以使用迷你缓冲区读取参数。
命令也可以在 interactive 声明中
将 enable-recursive-minibuffers 绑定为 t
来实现这一点(see 使用 interactive)。
迷你缓冲区命令 next-matching-history-element
(在迷你缓冲区中通常绑定为 M-s)就是采用后一种方式。