GNU bug report logs -
#79036
[PATCH] Fix pdb tracking for remote filenames
Previous Next
Reported by: Liu Hui <liuhui1610 <at> gmail.com>
Date: Thu, 17 Jul 2025 04:59:01 UTC
Severity: normal
Tags: patch
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: Liu Hui <liuhui1610 <at> gmail.com>
> Date: Thu, 17 Jul 2025 12:57:45 +0800
>
> 1. emacs -Q
> 2. Create a remote python file and start the remote python shell, e.g.
> M-x find-file /ssh:server:/tmp/test.py
> M-x run-python
> 3. Insert the following code in test.py and press C-c C-c to send it
> to the python shell:
>
> def f():
> breakpoint()
> return 1
>
> 4. Execute f() in the python shell to trigger the pdb
>
> Result: Emacs tries to open /ssh:server:/ssh:server:/tmp/test.py
> instead of /ssh:server:/tmp/test.py.
>
> The reason is the filename set by python-shell-send-string may be
> remote. The attached patch fixes the issue.
>
> From b9770cea20186d0205319efb54327099849e3a21 Mon Sep 17 00:00:00 2001
> From: Liu Hui <liuhui1610 <at> gmail.com>
> Date: Thu, 17 Jul 2025 12:43:34 +0800
> Subject: [PATCH] Fix pdb tracking for remote filenames
>
> * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
> Check remote file names.
> ---
> lisp/progmodes/python.el | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
> index f4f0518dbfd..59977fcb49f 100644
> --- a/lisp/progmodes/python.el
> +++ b/lisp/progmodes/python.el
> @@ -5079,8 +5079,10 @@ python-pdbtrack-set-tracked-buffer
> "Set the buffer for FILE-NAME as the tracked buffer.
> Internally it uses the `python-pdbtrack-tracked-buffer' variable.
> Returns the tracked buffer."
> - (let* ((file-name-prospect (concat (file-remote-p default-directory)
> - file-name))
> + (let* ((file-name-prospect (if (file-remote-p file-name)
> + file-name
> + (concat (file-remote-p default-directory)
> + file-name)))
> (file-buffer (get-file-buffer file-name-prospect)))
> (unless file-buffer
> (cond
Shouldn't this code use 'expand-file-name' instead? Using 'concat' to
construct file names is a bug waiting to happen, IME.
Michael, WDYT?
This bug report was last modified 18 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.