Come posso impedire al buffer gdb * input / output * di apparire in modo aggressivo nel frame?


8

Quando si utilizza gdb con M-x gdb, il *input/output*buffer si apre sempre in modo aggressivo in qualsiasi frame che ha lo stato attivo e non lo sta già visualizzando. Vorrei che il *input/output*buffer rimanesse in silenzio in background a meno che non lo avessi visualizzato manualmente.

Ecco un esempio molto semplice con emacs -Q

corri M-x gdb. dare un programma di bashe colpireReturn

nella *gud-bash*finestra, inseriscirun -c "while true; do echo hi && sleep 1; done"

Notare come *input/output of bash*si apre la finestra. Se si elimina quel buffer C-x 1dalla *gud-bash*finestra, ritorna non appena gdb produce altro stdout. Questo è il comportamento che non voglio.

In particolare, ora esegui M-x make-frame(dalla *gud-bash*finestra). Notate come nella nuova cornice, *input/output of bash*si apre anche! Quindi richiede una finestra per ogni singolo frame di emacs.

Come posso risolvere questo problema?

Modifica: ho quasi dimenticato di aggiungere la versione - emacs di

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

Risposte:


6

Non appena emacs 25 atterra, ci sarà una variabile gdb-display-io-nopopupper risolvere questo problema


Grazie, grazie, grazie! Questa è stata un'irritazione per me per anni! Questo ha risolto il mio problema.
Pablo Halpern,

-1

dividere la finestra di emacs in tre (cx 3) e assegnare una finestra al buffer di input / output (cx b, input / output )

Arresta il popup e l'output del programma viene visualizzato nella finestra del buffer " input / output "


Chiarisci cosa intendi per "schermo" e per "assegnare". Inoltre, non sono sicuro che risolva il problema che il codice del debugger ti costringe a visualizzare il buffer di input / output in una finestra in ciascun frame.
Stefan,

split emacs windows: (cx n), assegna buffer a una finestra (cx b)
Paul Salber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.