GNU bug report logs - #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.

Previous Next

Package: emacs;

Reported by: Vladimir Nikishkin <lockywolf <at> gmail.com>

Date: Tue, 24 Mar 2020 12:14:02 UTC

Severity: minor

Found in version 28.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Vladimir Nikishkin <lockywolf <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 40210 <at> debbugs.gnu.org
Subject: 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.
Date: 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 <eliz <at> gnu.org>:
>> From: Vladimir Nikishkin <lockywolf <at> gmail.com>
>> 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."
>    (interactive)
>    (process-send-eof
> -   (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




This bug report was last modified 5 years and 117 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.