From 77f35363fd9bb743716a196a3168fa94d896c28e Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sat, 7 Jan 2017 18:51:30 +0100 Subject: [PATCH] Fix a problem with `start-file-process' in Tramp * lisp/net/tramp-sh.el (tramp-maybe-open-connection): `start-file-process' shall work when `non-essential' is non-nil, but there is already an established connection. --- lisp/net/tramp-sh.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index fec9f10d704..71a388767d0 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -4655,7 +4655,11 @@ connection if a previous connection has died for some reason." ;; If `non-essential' is non-nil, don't reopen a new connection. ;; This variable has been introduced with Emacs 24.1. - (when (and (boundp 'non-essential) (symbol-value 'non-essential)) + ;; We check this for the process related to + ;; `tramp-buffer-name'; otherwise `start-file-process' + ;; wouldn't run ever when `non-essential' is non-nil. + (when (and (boundp 'non-essential) (symbol-value 'non-essential) + (null (get-process (tramp-buffer-name vec)))) (throw 'non-essential 'non-essential)) (with-tramp-progress-reporter