Subject: bug#4604: 23.1.50; tramp + remote debugging works no longer

From: Michael Albinus <[email-masked]>
Date: Fri, 02 Oct 2009 15:46:11 +0200

[email-masked] (Nick Roberts) writes:

>  >   start-file-process("gdb-inferior" #<buffer limbo> nil)
>  >   apply(start-file-process "gdb-inferior" #<buffer limbo> nil nil)
>  >   comint-exec-1("gdb-inferior" #<buffer limbo> nil nil)
>  >   comint-exec(#<buffer limbo> "gdb-inferior" nil nil nil)
>  >   make-comint-in-buffer("gdb-inferior" #<buffer limbo> nil)
>  >   gdb-inferior-io-mode()
>  >   gdb-get-buffer-create(gdb-inferior-io)
>
> Yes, it appears to be broken now.  Emacs now lets GDB to take control of the
> terminal associated with the I/O buffer for it's own child process (the
> program being debugged)and always has a separate I/O buffer.  In fact, it
> looks like previously GDB in Emacs didn't work with tramp when it had a
> separate I/O buffer (gdb-use-separate-io-buffer is t). 
>
> PROGRAM is nil in make-comint-in-buffer (third arg - also see start-process)
> which means just create a pty.

Tramp's start-file-process implementation does not support ptys. And I
have no idea how to implement it.

For the time being, I will add a check for PROGRAM, resulting in an
error when it is nil. No solution, of course, but a more precise
indicator.

> That must have been in emacs 23.1.  For now, you're better off using that version
> with tramp ... or you can always try to write a patch for 23.1.50.  That would be
> great!

I would appreciate any patch for this! Or at least proposals how to implement.

Best regards, Michael.