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.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63359 in the body.
You can then email your comments to 63359 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#63359
; Package emacs
.
(Mon, 08 May 2023 07:24:03 GMT) Full text and rfc822 format available.Bartosz Kaczyński <bkaczynski <at> posteo.net>
:bug-gnu-emacs <at> gnu.org
.
(Mon, 08 May 2023 07:24:03 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Bartosz Kaczyński <bkaczynski <at> posteo.net> To: bug-gnu-emacs <at> gnu.org Subject: 30.0.50; Lack of ssh hosts completion in Tramp using Fido mode Date: Sun, 07 May 2023 17:14:18 +0000
Hi, I would like to report an issue with the lack of SSH hostname suggestions when connecting via Tramp using the Fido mode. Previously, I used the exact same configuration in the Icomplete mode and the completion worked, meaning I could do C-x C-f, start typing /ssh: <tab>, and it would suggest a list of hosts defined in the configuration file. I keep my connection in following structure: tree ~/.ssh/conf.d/ .ssh/conf.d/ ├── lab ├── personal ├── companyX └── companyY and following line in ~/.ssh/config: Include conf.d/* My fido-mode configuration: (use-package icomplete :config (fido-mode t) (fido-vertical-mode t)) Thank you in advance for your help! bartk In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37, cairo version 1.17.8) of 2023-04-30 built on lifebook Repository revision: 605414d018da47f99dec5019142f584b6eb174c8 Repository branch: master System Description: openSUSE Tumbleweed Configured using: 'configure --with-native-compilation --with-json --with-pgtk --with-xml2 --with-imagemagick --with-tree-sitter' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ IMAGEMAGICK JPEG JSON LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER XIM GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Group Minor modes in effect: gnus-topic-mode: t gnus-undo-mode: t emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t yas-global-mode: t yas-minor-mode: t which-key-mode: t savehist-mode: t doom-modeline-mode: t fido-vertical-mode: t icomplete-vertical-mode: t icomplete-mode: t fido-mode: t global-display-line-numbers-mode: t save-place-mode: t shell-dirtrack-mode: t delete-selection-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/bkaczynski/.emacs.d/elpa/transient-20230501.1034/transient hides /usr/local/share/emacs/30.0.50/lisp/transient /home/bkaczynski/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-lint /home/bkaczynski/.emacs.d/elpa/use-package-20230426.2324/use-package-jump hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-jump /home/bkaczynski/.emacs.d/elpa/use-package-20230426.2324/use-package-ensure hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-ensure /home/bkaczynski/.emacs.d/elpa/use-package-20230426.2324/use-package-core hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-core /home/bkaczynski/.emacs.d/elpa/use-package-20230426.2324/use-package hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package /home/bkaczynski/.emacs.d/elpa/use-package-20230426.2324/use-package-diminish hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-diminish /home/bkaczynski/.emacs.d/elpa/use-package-20230426.2324/use-package-delight hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-delight /home/bkaczynski/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /usr/local/share/emacs/30.0.50/lisp/use-package/bind-key /home/bkaczynski/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-bind-key ~/.emacs.d/site-lisp/erc-sasl hides /usr/local/share/emacs/30.0.50/lisp/erc/erc-sasl Features: (gnus-cite gnus-topic nndraft nnmh utf-7 epa-file network-stream nnfolder bbdb-gnus bbdb-mua bbdb-com crm gnus-demon nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig nntp gnus-cache gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win mm-url gnus nnheader range wid-edit ace-window avy shadow bbdb-message mail-extr emacsbug message yank-media rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mailabbrev gmm-utils sendmail checkdoc lisp-mnt flymake-proc flymake init init-irc erc erc-backend erc-networks erc-common erc-compat erc-loaddefs init-mail bbdb bbdb-site timezone mbsync init-multimedia justify-kp emms-mpris dbus pulse emms-librefm-stream emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd emms-lyrics emms-url emms-streams emms-show-all emms-tag-editor emms-tag-tracktag emms-mark emms-mode-line emms-cache emms-info-native bindat emms-info-exiftool emms-info-tinytag emms-info-metaflac emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mpv emms-playing-time emms-info emms-later-do emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file locate dired dired-loaddefs emms-setup emms emms-compat init-misc chatgpt-shell shell-maker goto-addr esh-mode esh-var markdown-mode anki-editor ox-md ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox org-element org-persist xdg org-id org-refile avl-tree exercism persist async-await iter2 promise xml url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny promise-rejection-tracking promise-finally promise-done promise-es6-extensions promise-core async request mailheader mail-utils a init-tramp init-org ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-python ob-plantuml ob-perl ob-scheme ob-restclient ob-sql ob-shell ob-ditaa init-emacs-lisp ielm init-shells vterm bookmark pp face-remap color vterm-module term/xterm xterm eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util init-config ssh-config-mode nginx-mode apache-mode init-coding-scheme geiser-guile info-look transient geiser geiser-debug geiser-repl geiser-image geiser-capf geiser-doc geiser-menu geiser-autodoc geiser-edit etags fileloop generator xref geiser-completion geiser-eval geiser-connection tq geiser-syntax scheme geiser-impl help-fns radix-tree geiser-log geiser-popup view geiser-custom geiser-base init-coding-nim ob-nim org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs nim-mode commenter nim-fill nim-smie let-alist smie nim-helper nim-util nim-syntax nim-rx nim-vars init-coding-cpp init-coding-go init-coding-python python project pcase treesit init-coding-bash init-coding-common smartparens loadhist thingatpt restclient advice noutline outline rainbow-delimiters compile text-property-search init-completions yasnippet-snippets yasnippet init-navigation init-minibuffer which-key use-package-diminish savehist doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path f f-shortdoc s nerd-icons nerd-icons-faces nerd-icons-data-material-design nerd-icons-data-font-logos nerd-icons-data-codicons nerd-icons-data-devicons nerd-icons-data-seti-ui-custom nerd-icons-data-weather-icons nerd-icons-data-font-awesome nerd-icons-data-powerline nerd-icons-data-octicons nerd-icons-data-pomicons nerd-icons-data-iec-power-symbols compat icomplete edmacro kmacro use-package-bind-key init-general auth-source-pass display-line-numbers saveplace tramp-sh vagrant-tramp term disp-table ehelp tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete comint ansi-osc ansi-color ring parse-time iso8601 ls-lisp format-spec comp comp-cstr warnings icons rx init-appearance modus-vivendi-theme modus-themes delsel init-package bind-key diminish time-date auto-package-update easy-mmode dash cl-extra help-mode vc-use-package use-package-ensure use-package-core finder-inf all-the-icons-completion-autoloads ob-restclient-autoloads justify-kp-autoloads nov-autoloads orderless-autoloads bbdb-autoloads marginalia-autoloads popup-autoloads vertico-autoloads nginx-mode-autoloads vagrant-tramp-autoloads use-package-autoloads geiser-guile-autoloads ob-nim-autoloads nim-mode-autoloads epc-autoloads concurrent-autoloads deferred-autoloads ctable-autoloads commenter-autoloads flycheck-nimsuggest-autoloads emms-autoloads yasnippet-snippets-autoloads mbsync-autoloads restclient-autoloads bind-key-autoloads chatgpt-shell-autoloads shell-maker-autoloads company-autoloads multiple-cursors-autoloads anki-editor-autoloads org-anki-autoloads esxml-autoloads yaml-mode-autoloads visual-fill-column-autoloads go-mode-autoloads all-the-icons-autoloads vc-use-package-autoloads ssh-config-mode-autoloads vterm-autoloads keycast-autoloads ace-window-autoloads avy-autoloads doom-modeline-autoloads shrink-path-autoloads f-autoloads geiser-autoloads olivetti-autoloads kv-autoloads nerd-icons-completion-autoloads nerd-icons-autoloads which-key-autoloads exercism-autoloads transient-autoloads compat-autoloads persist-autoloads async-await-autoloads iter2-autoloads promise-autoloads async-autoloads request-autoloads s-autoloads a-autoloads rainbow-delimiters-autoloads flycheck-autoloads pkg-info-autoloads epl-autoloads yasnippet-autoloads markdown-mode-autoloads diminish-autoloads auto-package-update-autoloads smartparens-autoloads info dash-autoloads apache-mode-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk pgtk multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 819884 129955) (symbols 48 52201 5) (strings 32 244274 32897) (string-bytes 1 7000356) (vectors 16 87210) (vector-slots 8 1627068 152000) (floats 8 706 10411) (intervals 56 863 459) (buffers 984 23))
bug-gnu-emacs <at> gnu.org
:bug#63359
; Package emacs
.
(Mon, 08 May 2023 11:09:01 GMT) Full text and rfc822 format available.Message #8 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: Re: bug#63359: 30.0.50; Lack of ssh hosts completion in Tramp using Fido mode Date: Mon, 08 May 2023 13:08:10 +0200
Bartosz Kaczyński <bkaczynski <at> posteo.net> writes: > Hi, Hi Bartosz, > I would like to report an issue with the lack of SSH hostname > suggestions when connecting via Tramp using the Fido mode. Previously, I > used the exact same configuration in the Icomplete mode and the > completion worked, meaning I could do C-x C-f, start typing /ssh: <tab>, > and it would suggest a list of hosts defined in the configuration file. > > I keep my connection in following structure: > > tree ~/.ssh/conf.d/ > .ssh/conf.d/ > ├── lab > ├── personal > ├── companyX > └── companyY > > and following line in ~/.ssh/config: > > Include conf.d/* > > My fido-mode configuration: > > (use-package icomplete > :config > (fido-mode t) > (fido-vertical-mode t)) I cannot say why/how it worked for you in the past. But the Tramp manual discusses this case: --8<---------------cut here---------------start------------->8--- 4.18.1 Using ssh config include for host name completion -------------------------------------------------------- OpenSSH configuration files can use an ‘Include’ option for further configuration files. Default TRAMP host name completion ignores this option. However, you can configure this yourself. Given, your ‘~/.ssh/config’ file contains the following option: Include ~/.ssh/conf.d/* The following code snippet in your ‘.emacs’ uses all files in that directory for host name completion: (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)))) This code snippet does it for the ‘ssh’ method. If you replace "ssh" by "scp", it does it also for that method (or any other method you like). --8<---------------cut here---------------end--------------->8--- Have you tried this recipe? > Thank you in advance for your help! > bartk Best regards, Michael.
bug-gnu-emacs <at> gnu.org
:bug#63359
; Package emacs
.
(Tue, 09 May 2023 04:02:02 GMT) Full text and rfc822 format available.Message #11 received at 63359 <at> debbugs.gnu.org (full text, mbox):
From: Bartosz Kaczyński <bkaczynski <at> posteo.net> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 63359 <at> debbugs.gnu.org Subject: Re: bug#63359: 30.0.50; Lack of ssh hosts completion in Tramp using Fido mode Date: Tue, 09 May 2023 04:00:48 +0000
Michael Albinus <michael.albinus <at> gmx.de> writes: > Hi Bartosz, > Hi Michael, thank you for your reply! > > I cannot say why/how it worked for you in the past. But the Tramp manual > discusses this case: > > > 4.18.1 Using ssh config include for host name completion > -------------------------------------------------------- > > OpenSSH configuration files can use an ‘Include’ option for further > configuration files. Default TRAMP host name completion ignores this > option. However, you can configure this yourself. > > Given, your ‘~/.ssh/config’ file contains the following option: > > Include ~/.ssh/conf.d/* > > The following code snippet in your ‘.emacs’ uses all files in that > directory for host name completion: > > (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)))) > > This code snippet does it for the ‘ssh’ method. If you replace > "ssh" by "scp", it does it also for that method (or any other method > you like). > > 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. Regards, bartk
bug-gnu-emacs <at> gnu.org
:bug#63359
; Package emacs
.
(Tue, 09 May 2023 14:34:01 GMT) Full text and rfc822 format available.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 +0200Bartosz 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.
Michael Albinus <michael.albinus <at> gmx.de>
:Bartosz Kaczyński <bkaczynski <at> posteo.net>
:Message #19 received at 63359-done <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-done <at> debbugs.gnu.org Subject: Re: bug#63359: 30.0.50; Lack of ssh hosts completion in Tramp using Fido mode Date: Wed, 10 May 2023 08:59:54 +0200
Bartosz Kaczyński <bkaczynski <at> posteo.net> writes: > Hi Michael, Hi Bartosz, >> 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? > > I have to admit that your way of completing the host names worked when I > tried it. Additionally, I reviewed my config and... it started working > as well. I apologize for the confusion, apparently it wasn't an > error-related issue. No problem. I'm closing the bug. > Thank you for your time, > bartk Best regards, Michael.
Michael Albinus <michael.albinus <at> gmx.de>
to control <at> debbugs.gnu.org
.
(Wed, 10 May 2023 07:04:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Wed, 07 Jun 2023 11:24:07 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.