[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40210: 28.0.50; gdb-mi incorrectly handles EOF/C-d/gdb-io-eof when g
bug#40210: 28.0.50; gdb-mi incorrectly handles EOF/C-d/gdb-io-eof when gdb-many-windows is t. Additionally, variable documentation for gdb-many-windows is misleading.
Tue, 24 Mar 2020 22:40:47 +0800
Yes, seems to be working for me.
Shan't the same (get-buffer-process (gdb-get-buffer-create
'gdb-inferior-io)) be also added to gdb-io-stop, gdb-io-quit,
gdb-io-interrupt functions? They seem to also be doing their job in
the input/output buffer.
2020-03-24 22:30 GMT+08:00, Eli Zaretskii <address@hidden>:
>> From: Vladimir Nikishkin <address@hidden>
>> Date: Tue, 24 Mar 2020 20:12:32 +0800
>> 1. emacs -q
>> 2. M-: (require 'gdb-mi) RET
>> 3. M-x set-variable RET gdb-many-windows RET t
>> 4. gdb RET /usr/bin/cat RET
>> 5. run
>> 6. C-x b *input/output-of-cat* RET
>> 7. C-d
>> Nothing happens, although EOF should be sent to the cat process.
> Does the patch below give good results?
>> Additionally, clicking on <menu> <signals> <EOF> kills gdb process
>> rather than sending the EOF to the cat process.
> That's expected, I think, since that sends EOF to GDB.
> diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
> index ea3b1b8..228e506 100644
> --- a/lisp/progmodes/gdb-mi.el
> +++ b/lisp/progmodes/gdb-mi.el
> @@ -1747,7 +1747,7 @@ gdb-io-eof
> "Send end-of-file to the program being debugged."
> - (get-buffer-process gud-comint-buffer)))
> + (get-buffer-process (gdb-get-buffer-create 'gdb-inferior-io))))
> (defun gdb-clear-inferior-io ()
> (with-current-buffer (gdb-get-buffer-create 'gdb-inferior-io)
Yours sincerely, Vladimir Nikishkin