GNU bug report logs - #63359
30.0.50; Lack of ssh hosts completion in Tramp using Fido mode

Previous Next

Package: emacs;

Reported by: Bartosz Kaczyński <bkaczynski <at> posteo.net>

Date: Mon, 8 May 2023 07:24:03 UTC

Severity: normal

Tags: notabug

Found in version 30.0.50

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 63359 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Bartosz Kaczyński <bkaczynski <at> posteo.net>
Cc: 63359 <at> debbugs.gnu.org
Subject: Fwd: bug#63359: 30.0.50; Lack of ssh hosts completion in Tramp
 using Fido mode
Date: Tue, 09 May 2023 16:32:51 +0200
[Message part 1 (text/plain, inline)]
Forwarding for the archives

[Message part 2 (message/rfc822, inline)]
From: Michael Albinus <michael.albinus <at> gmx.de>
Subject: Re: bug#63359: 30.0.50; Lack of ssh hosts completion in Tramp using
 Fido mode
Date: Tue, 09 May 2023 13:43:29 +0200
Bartosz Kaczyński <bkaczynski <at> posteo.net> writes:

> Hi Michael,

Hi Bartosz,

>> Have you tried this recipe?
>
> Yes, I have. Here is my TRAMP configuration:
>
> (use-package tramp
>   :config
>     ---snip---
>   (with-eval-after-load 'tramp
>     (tramp-set-completion-function
>      "ssh" (append (tramp-get-completion-function "ssh")
>                    (mapcar (lambda (file) `(tramp-parse-sconfig ,file))
>                            (directory-files
>                             "~/.ssh/conf.d/"
>                             'full directory-files-no-dot-files-regexp))))
>     (tramp-set-completion-function
>      "scp" (append (tramp-get-completion-function "scp")
>                    (mapcar (lambda (file) `(tramp-parse-sconfig ,file))
>                            (directory-files
>                             "~/.ssh/conf.d/"
>                             'full directory-files-no-dot-files-regexp)))))
>     ---snip---
> )
>
> And I confirm this solution works for Icomplete but for some reasons it
> doesn't work for Fido.

I cannot reproduce it. Here's my test setup:

I have created a new directory /tmp/tmp with the following files:

--8<---------------cut here---------------start------------->8---
# ll /tmp/tmp
total 8
-rw-r--r--. 1 albinus albinus 47 May  9 13:27 xxx
-rw-r--r--. 1 albinus albinus 47 May  9 13:27 yyy
# cat /tmp/tmp/*
Host xxx-63359
     Hostname xxx-63359.invalid
Host yyy-63359
     Hostname yyy-63359.invalid
--8<---------------cut here---------------end--------------->8---

I have created a file /tmp/tmp.el with the following contents:

--8<---------------cut here---------------start------------->8---
# cat /tmp/tmp.el
(use-package tramp
  :config
  (with-eval-after-load 'tramp
    (tramp-set-completion-function
     "ssh" (append (tramp-get-completion-function "ssh")
                   (mapcar (lambda (file) `(tramp-parse-sconfig ,file))
                           (directory-files
                            "/tmp/tmp/"
                            'full directory-files-no-dot-files-regexp))))))
--8<---------------cut here---------------end--------------->8---

Then I have tested

--8<---------------cut here---------------start------------->8---
# emacs -Q -l /tmp/tmp.el -f icomplete-mode
# emacs -Q -l /tmp/tmp.el -f fido-mode
--8<---------------cut here---------------end--------------->8---

After typing 'C-x C-f /ssh: TAB' I have seen the candidates 'xxx-63359:'
and 'yyy-63359:', in both tests.

Looks like there is something odd with your config? Could you please try
my recipe, whether it also works for you? Then you can add step by step
your config, and check what's wrong?

> Regards, bartk

Best regards, Michael.

This bug report was last modified 2 years and 14 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.