changeset 91689:2a8a6f33e88a

net/tramp.el (tramp-process-sentinel): Avoid error when process buffer killed.
author Michael Olson <mwolson@gnu.org>
date Sat, 09 Feb 2008 05:52:07 +0000
parents dc73ee82d684
children 6dc0177676fe
files lisp/ChangeLog lisp/net/tramp.el
diffstat 2 files changed, 15 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Feb 09 03:52:59 2008 +0000
+++ b/lisp/ChangeLog	Sat Feb 09 05:52:07 2008 +0000
@@ -1,3 +1,9 @@
+2008-02-09  Michael Olson  <mwolson@gnu.org>
+
+	* net/tramp.el (tramp-process-sentinel): Avoid error when process
+	buffer has been killed, such as by
+	`tramp-cleanup-all-connections'.
+
 2008-02-09  Miles Bader  <miles@gnu.org>
 
 	* net/rcirc.el (rcirc-omit-mode): Suppress invisibility ellipsis.
--- a/lisp/net/tramp.el	Sat Feb 09 03:52:59 2008 +0000
+++ b/lisp/net/tramp.el	Sat Feb 09 05:52:07 2008 +0000
@@ -5654,12 +5654,15 @@
     ;; The "Connection closed" and "exit" messages disturb the output
     ;; for asynchronous processes. That's why we have echoed the Tramp
     ;; prompt at the end.  Trailing messages can be removed.
-    (with-current-buffer (process-buffer proc)
-      (goto-char (point-max))
-      (re-search-backward
-       (mapconcat 'identity (split-string tramp-end-of-output "\n") "\r?\n")
-       (line-beginning-position -8) t)
-      (delete-region (point) (point-max)))))
+    (let ((buf (process-buffer proc)))
+      (when (buffer-live-p buf)
+        (with-current-buffer buf
+          (goto-char (point-max))
+          (re-search-backward
+           (mapconcat 'identity (split-string tramp-end-of-output "\n")
+                      "\r?\n")
+           (line-beginning-position -8) t)
+          (delete-region (point) (point-max)))))))
 
 (defun tramp-open-connection-setup-interactive-shell (proc vec)
   "Set up an interactive shell.