Comment puis-je empêcher le tampon d'entrée / sortie * de gdb d'apparaître de manière agressive dans le cadre?

8

Lorsque vous utilisez gdb avec M-x gdb, le *input/output*tampon apparaît toujours de manière agressive dans n'importe quel cadre qui a le focus et ne l'affiche pas déjà. Je voudrais que le *input/output*tampon reste silencieusement en arrière-plan à moins que je ne le fasse manuellement.

Voici un exemple très simple avec emacs -Q

courir M-x gdb. donner un programme de bashet frapperReturn

dans la *gud-bash*fenêtre, entrezrun -c "while true; do echo hi && sleep 1; done"

Remarquez comment la *input/output of bash*fenêtre apparaît. Si vous supprimez ce tampon avec C-x 1depuis la *gud-bash*fenêtre, il revient dès que gdb produit plus de sortie standard. Voilà le comportement que je ne veux pas.

En particulier, exécutez maintenant M-x make-frame(à partir de la *gud-bash*fenêtre). Remarquez comment, dans le nouveau cadre, *input/output of bash*apparaît également! Il faut donc une fenêtre sur chaque trame emacs.

Comment puis-je réparer cela?

Edit: j'ai presque oublié d'ajouter - la version emacs de

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

ajp
la source

Réponses:

6

Dès qu'emacs 25 atterrira, il y aura une variable gdb-display-io-nopopuppour résoudre ce problème

ajp
la source
Merci merci merci! Cela a été une irritation pour moi pendant des années! Cela a résolu mon problème.
Pablo Halpern
-1

diviser la fenêtre emacs en trois (cx 3) et affecter une fenêtre au tampon d' entrée / sortie (cx b, entrée / sortie )

Arrête la fenêtre contextuelle et la sortie du programme est affichée dans la fenêtre tampon " entrée / sortie "

Paul Salber
la source
Clarifiez ce que vous entendez par «écran» et par «attribuer». De plus, je ne suis pas sûr qu'il résout le problème que le code du débogueur vous oblige à avoir le tampon d' entrée / sortie affiché dans une fenêtre dans chaque image.
Stefan
fractionner les fenêtres emacs: (cx n), affecter un tampon à une fenêtre (cx b)
Paul Salber