From d2d658320ee91ed4f61becd5ca996bd9033b7327 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Mon, 14 Oct 2019 14:53:29 +0200 Subject: [PATCH] Suppress eager completion on not connected hosts in Tramp * lisp/net/tramp.el (tramp-completion-handle-file-name-completion): Bind `non-essential' to t. --- lisp/net/tramp.el | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 2a60aff383b..e51a1c7f8aa 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2597,11 +2597,13 @@ not in completion mode." (defun tramp-completion-handle-file-name-completion (filename directory &optional predicate) "Like `file-name-completion' for Tramp files." - (try-completion - filename - (mapcar #'list (file-name-all-completions filename directory)) - (when (and predicate (tramp-connectable-p directory)) - (lambda (x) (funcall predicate (expand-file-name (car x) directory)))))) + ;; Suppress eager completion on not connected hosts. + (let ((non-essential t)) + (try-completion + filename + (mapcar #'list (file-name-all-completions filename directory)) + (when (and predicate (tramp-connectable-p directory)) + (lambda (x) (funcall predicate (expand-file-name (car x) directory))))))) ;; I misuse a little bit the `tramp-file-name' structure in order to ;; handle completion possibilities for partial methods / user names / -- 2.39.5