Subject: bug#65007: [PATCH] Allow displaying program IO in the GDB buffer.

From: StrawberryTea <[email-masked]>
Date: Sat, 16 Sep 2023 01:08:44 -0500

Yeah, I added `org-msg' and I have been trying to figure out how to send
a patch with it. Probably I would need to put it in a source block. But
I just turned that off

* lisp/progmodes/gdb-mi.el (gdb-split-io-flag): Don't create IO
buffer if `gdb-split-io-flag'.
(gdb-split-io-flag): New user option.
---
 lisp/progmodes/gdb-mi.el | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 42c1c715c73..8ce5df6e0c7 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -1098,9 +1098,10 @@ gdb-init-1
                      (if gdb-debuginfod-enable "on" "off"))
              'gdb-debuginfod-message)

-  (gdb-get-buffer-create 'gdb-inferior-io)
-  (gdb-clear-inferior-io)
-  (gdb-inferior-io--init-proc (get-process "gdb-inferior"))
+  (when gdb-display-io-buffer
+    (gdb-get-buffer-create 'gdb-inferior-io)
+    (gdb-clear-inferior-io)
+    (gdb-inferior-io--init-proc (get-process "gdb-inferior")))

   (when (eq system-type 'windows-nt)
     ;; Don't create a separate console window for the debuggee.
@@ -1828,6 +1829,13 @@ gdb-display-io-nopopup
   :group 'gdb
   :version "25.1")

+(defcustom gdb-display-io-buffer t
+  "When non-nil, display the `gdb-inferior-io' buffer.  Otherwise,
+send program output to the GDB buffer."
+  :type 'boolean
+  :group 'gdb
+  :version "30.1")
+
 (defun gdb-inferior-filter (proc string)
   (unless (string-equal string "")
     (let (buf)
--
2.42.0
Eli Zaretskii <[email-masked]> writes:

>> From: StrawberryTea <[email-masked]>
>> Cc: [email-masked], [email-masked]
>> Date: Sat, 16 Sep 2023 00:38:21 -0500
>>
>> Yup. Here it is.
>
> Thanks.  But did you forget to attach the patch?  I see a strangely
> formatted patch, with some Unicode symbols instead of ASCII characters
> I expect to see in diffs.
>
>> By the way, is there any information on debugging or stepping through the display engine?
>
> Yes, see etc/DEBUG, under "Debugging Emacs redisplay problems".