Como impedir que o buffer gdb * input / output * apareça agressivamente no quadro?

8

Ao usar o gdb with M-x gdb, o *input/output*buffer sempre aparece agressivamente em qualquer quadro que tenha foco e ainda não o esteja exibindo. Gostaria que o *input/output*buffer permanecesse silencioso em segundo plano, a menos que eu o trouxesse manualmente.

Aqui está um exemplo muito simples com emacs -Q

correr M-x gdb. dar um programa de bashe baterReturn

na *gud-bash*janela, insirarun -c "while true; do echo hi && sleep 1; done"

Observe como a *input/output of bash*janela aparece. Se você dispensar esse buffer C-x 1da *gud-bash*janela, ele retornará assim que o gdb produzir mais stdout. Esse é o comportamento que eu não quero.

Em particular, agora execute M-x make-frame(a partir da *gud-bash*janela). Observe como, no novo quadro, *input/output of bash*também aparece! Por isso, exige uma janela em cada quadro do emacs.

Como posso consertar isso?

Edit: Eu quase esqueci de adicionar - versão emacs de

GNU Emacs 24.5.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.30)

ajp
fonte

Respostas:

6

Assim que o emacs 25 terras, haverá uma variável gdb-display-io-nopopuppara corrigir este problema

ajp
fonte
Obrigado, obrigado, obrigado! Isso tem sido uma irritação para mim há anos! Isso resolveu meu problema.
Pablo Halpern
-1

divida a janela do emacs em três (cx 3) e atribua uma janela ao buffer de entrada / saída (cx b, entrada / saída )

Interrompe o pop-up e a saída do programa é exibida na janela do buffer " entrada / saída "

Paul Salber
fonte
Esclareça o que você quer dizer com "tela" e "atribuir". Também não tenho certeza se ele resolve o problema que o código do depurador obriga a exibir o buffer de entrada / saída em uma janela em cada quadro.
274 Stefan #
emacs dividir janelas: (cx n), tampão atribuir a uma janela (cx b)
Paul Salber