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 /