|
From: | GNU bug Tracking System |
Subject: | bug#50387: closed (Possible bug in Tramp or in completions) |
Date: | Tue, 07 Sep 2021 17:52:02 +0000 |
Your message dated Tue, 07 Sep 2021 17:51:17 +0000 with message-id <11c4e3821a7883ef488a@heytings.org> and subject line Re: bug#50387: Possible bug in Tramp or in completions has caused the debbugs.gnu.org bug report #50387, regarding Possible bug in Tramp or in completions to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs@gnu.org.) -- 50387: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50387 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems
--- Begin Message ---Subject: Possible bug in Tramp or in completions Date: Sun, 05 Sep 2021 00:43:59 +0000 With a ~/.ssh/config file containing two entries: Host foo ... Host bar ... emacs -Q M-: (setq tramp-default-method "ssh") M-: (add-to-list 'completion-styles 'substring) C-x C-x /ssh: TABdisplays "Sole completion". If, instead of having completion-styles set to:(substring basic partial-completion emacs22) it is set to: (basic substring partial-completion emacs22)then two completion candidates are shown (as expected): "ssh:foo:" and "ssh:bar:".This happens because the "substring" completion mechanism is tried first by completion--some in completion--nth-completion, and returns (t . substring), because(completion-substring-try-completion "/ssh:" #'completion-file-name-table #'file-exists-p 5)returns t, because(completion-substring--all-completions "/ssh:" #'completion-file-name-table #'file-exists-p 5) returns (("ssh:")returns (prefix "ssh:") "/" "" 1), because(completion-boundaries "/ssh:" #'completion-file-name-table #'file-exists-p "")returns (1 . 0). When the "basic" completion mechanism is tried first,(completion-basic-try-completion "/ssh:" #'completion-file-name-table #'file-exists-p 5)returns ("/ssh:" . 5).It is not clear to me whether this is a bug (I always thought that the order of completion mechanisms in completion-styles did not matter, and in this case it does indeed make no difference with (setq tramp-default-method "scp")), and if so if it is a bug in Tramp, or in the completion functions.
--- End Message ---
--- Begin Message ---Subject: Re: bug#50387: Possible bug in Tramp or in completions Date: Tue, 07 Sep 2021 17:51:17 +0000 That means, "scp:" hasn't been passed to tramp-completion-handle-file-name-all-completions, and the result of that function looks proper to me.Yet it isn't.Why not? In this example, `completion-styles' contains `substring'. And then you ask for completion of "/scp:". Looking at the candidates returned by `tramp-completion-handle-file-name-all-completions', only "pscp:" and "scp:" have the substring "scp:".Because after typing "/s" or "/sc" or "/scp" it makes sense to see that "/scp:" is among the completion candidates, but after typing "/scp:" it doesn't make sense anymore, the method has already been entered by the user, what they now want to see is a list of hosts, and there is no way to see it.- before your attempt to fix the problem, C-x C-f / TAB only displayed "scp:" and "scpx:" among the completion candidates (or e.g. "ssh:", "sshfs:" and "sshx:" with tramp-default-method set to "ssh");Yes, this is changed.- now C-x C-f / TAB displays all Tramp methods;When Tramp is loaded. I regard this to be correct.- with my patch, which actually fixes the bug, C-x C-f / TAB does not display any Tramp method, as it should.Again, C-x C-f / TAB displays a Tramp method only when Tramp is loaded.I filed a bug report, explained in every detail what the bug is, provided a patch, and the end result is a situation that is worse than earlier. I expect other bug reports from confused users, and hope that you'll change your mind.Closing.
--- End Message ---
[Prev in Thread] | Current Thread | [Next in Thread] |