Ocasionalmente, começo a abrir um arquivo e, antes de selecioná-lo, por algum motivo, executo C-x oantes de responder ao prompt. Então, toda vez que eu tento executar find-file
novamente, ele reclama que o Command tentou usar o minibuffer enquanto estava no minibuffer . No entanto, se eu usar um comando como isearch-forward-regexp
(mesmo se já estiver em um find-file
prompt), o erro não será gerado e não posso voltar ao minibuffer usando other-window
.
Por que alguns prompts atualizam temporariamente o minibuffer de modo que o other-window
considere um possível alvo e outros não?
Só para esclarecer, não estou perguntando como se soltar.
Originalmente, quando eu encontrava isso, eu alternava para o minibuffer e fazia Esc Esc Escou C-gescapava do prompt, para poder iniciar um novo comando que usa o minibuffer. No entanto, ao refletir sobre essa questão, percebi que abort-recursive-edit
( C-]) encerraria esse minibuffer em andamento sem ter que fazer other-window
+ keyboard-quit
.
Ainda assim, não tenho muita certeza para que serve o caso de uso original. Talvez isso tenha como objetivo ajudar a colar a cópia em um prompt de minibuffer ou auxiliar na execução de um comando no meio de uma macro?
O que eu não quero saber é se existe uma maneira de desativar este recursividade do jeito que está com isearch
. É isearch
seguro porque está usando evento de leitura em vez de um prompt de bloqueio? Existe um gancho para disparar abort-recursive-edit
ao sair do minibuffer?
TL; DR
- Por que alguns comandos do minibuffer atualizam o minibuffer para um destino
other-window
e bloqueiam a execução de novos comandos do minibuffer, enquanto outros, comoisearch
, não? - Existe uma maneira de desativar isto?
- Qual é o caso de uso pretendido desse recurso?
enable-recursive-minibuffers
para t
evitar que o comando tente usar o minibuffer enquanto estiver na mensagem do minibuffer . Pode ajudar a esclarecer a pergunta original, se você a postou recursive-edit
separadamente.
C-]
aborta um nível de minibuffer, sim. O Isearch não usa o minibuffer. E o que " preso no prompt " tem a ver com o restante do que você descreve? Você não precisa usarswitch-window
, em tais contextos. Mas não está claro o que você está tentando fazer. Tente separar as várias partes da sua descrição e tente criar uma única pergunta.