diff options
author | Ken Manheimer <ken.manheimer@gmail.com> | 2015-09-19 21:34:36 -0400 |
---|---|---|
committer | Ken Manheimer <ken.manheimer@gmail.com> | 2015-09-19 21:34:36 -0400 |
commit | 89898fcd83db040923a2d454e849bfcc0f463bd4 (patch) | |
tree | e248958258486ded2237ee9212c5cf006aecb9e9 /lisp/progmodes/python.el | |
parent | df6f6107257cb76d994fff97fc8904a3d1bd3fb4 (diff) | |
download | emacs-89898fcd83db040923a2d454e849bfcc0f463bd4.tar.gz emacs-89898fcd83db040923a2d454e849bfcc0f463bd4.tar.bz2 emacs-89898fcd83db040923a2d454e849bfcc0f463bd4.zip |
Repair pdbtrack so it follows transition from one remote file to another.
* python.el (python-pdbtrack-set-tracked-buffer).
Diffstat (limited to 'lisp/progmodes/python.el')
-rw-r--r-- | lisp/progmodes/python.el | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 9528ffeebbc..243125e310c 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -3635,12 +3635,18 @@ Never set this variable directly, use "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-buffer (get-file-buffer - (concat (file-remote-p default-directory) - file-name)))) + (let* ((file-name-prospect (concat (file-remote-p default-directory) + file-name)) + (file-buffer (get-file-buffer file-name-prospect))) (if file-buffer (setq python-pdbtrack-tracked-buffer file-buffer) - (setq file-buffer (find-file-noselect file-name)) + (cond + ((file-exists-p file-name-prospect) + (setq file-buffer (find-file-noselect file-name-prospect))) + ((and (not (equal file-name file-name-prospect)) + (file-exists-p file-name)) + ;; Fallback to a locally available copy of the file. + (setq file-buffer (find-file-noselect file-name-prospect)))) (when (not (member file-buffer python-pdbtrack-buffers-to-kill)) (add-to-list 'python-pdbtrack-buffers-to-kill file-buffer))) file-buffer)) |