]> code.delx.au - gnu-emacs/commitdiff
Repair pdbtrack so it follows transition from one remote file to another.
authorKen Manheimer <ken.manheimer@gmail.com>
Sun, 20 Sep 2015 01:34:36 +0000 (21:34 -0400)
committerKen Manheimer <ken.manheimer@gmail.com>
Sun, 20 Sep 2015 01:34:36 +0000 (21:34 -0400)
* python.el (python-pdbtrack-set-tracked-buffer).

lisp/ChangeLog.17
lisp/progmodes/python.el

index a40f8f3d67ac1b9870b51330e1292823a3912bd0..224e2a6da7fd1990179d088bab745bc5b08803cc 100644 (file)
@@ -1,3 +1,8 @@
+2015-09-20  Ken Manheimer  <ken.manheimer@gmail.com>
+
+       * python.el (python-pdbtrack-set-tracked-buffer): Repair pdbtrack
+       so it follows transition from one remote file to another.
+
 2015-04-06  Alan Mackenzie  <acm@muc.de>
 
        Fix miscellaneous glitches in cc-mode.el.  (Bug#20245)
index 9528ffeebbc811af5955591c5b3967231b1d171d..243125e310c91e699ced9c8e09a95077859d62a4 100644 (file)
@@ -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))