Subject: Re: bug#79036: [PATCH] Fix pdb tracking for remote filenames

From: Liu Hui <[email-masked]>
Date: Fri, 18 Jul 2025 23:19:49 +0800

On Fri, Jul 18, 2025 at 10:53 PM Eli Zaretskii <[email-masked]> wrote:
>
> > From: Michael Albinus <[email-masked]>
> > Cc: Eli Zaretskii <[email-masked]>,  [email-masked],  [email-masked]
> > Date: Fri, 18 Jul 2025 16:13:00 +0200
> >
> > Liu Hui <[email-masked]> writes:
> >
> > > For example, below is the pdb output in a remote python shell, and the
> > > file-name "/tmp/test.py" is local. Because of the "from ... import
> > > ...", we can know the file is on the remote system.
> > >
> > >     >>> from test import f; f()
> > >     > /tmp/test.py(3)f()
> > >     -> return 1
> > >     (Pdb)
> > >
> > > However, with the following pdb output in a remote python shell
> > >
> > >     >>> f()
> > >     > /tmp/test.py(3)f()
> > >     -> return 1
> > >     (Pdb)
> > >
> > > The local filename "/tmp/test.py" may be on the remote system like the
> > > above case, or may be on the local host if we press C-c C-c to send
> > > its code to the remote process.
> > >
> > > Which file should python shell track? The simplest solution is to
> > > check which file exists.
> >
> > No. The mature check is whether default-directory is remote. Everything
> > else is voodoo. Can work, but no guarantee.
>
> Right.

I agree Emacs should first find the file on the remote system when the
python shell is remote. But if the file doesn't exist, I think it is
reasonable to try finding local file (supposed behavior currently in
python-pdbtrack-set-tracked-buffer but there is a bug) instead of
opening an empty remote file (actual behavior) or doing nothing. I
would like to add an option if you think Emacs should just find the
remote file.