Package: emacs;
Reported by: Reuben Thomas <rrt <at> sc3d.org>
Date: Mon, 4 Aug 2025 23:17:01 UTC
Severity: normal
Tags: patch
Found in version 30.1
Fixed in version 30.3
Done: Michael Albinus <michael.albinus <at> gmx.de>
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Michael Albinus <michael.albinus <at> gmx.de> Cc: tracker <at> debbugs.gnu.org Subject: bug#79173: closed (30.1; TRAMP simplified syntax produces empty completing-read candidates) Date: Thu, 07 Aug 2025 14:49:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 07 Aug 2025 16:47:51 +0200 with message-id <87ikiz9oiw.fsf <at> gmx.de> and subject line Re: bug#79173: 30.1; TRAMP simplified syntax produces empty completing-read candidates has caused the debbugs.gnu.org bug report #79173, regarding 30.1; TRAMP simplified syntax produces empty completing-read candidates to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 79173: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79173 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Reuben Thomas <rrt <at> sc3d.org> To: bug-gnu-emacs <at> gnu.org Subject: 30.1; TRAMP simplified syntax produces empty completing-read candidates Date: Mon, 04 Aug 2025 23:55:02 +0100I’m a bit unsure how to demonstrate this bug in vanilla Emacs. See https://github.com/minad/vertico/discussions/623 for the original context in which I found this problem, using the vertico package. The author assures me this is an Emacs bug, and gives his reasoning there. Also, according to him it is possible that it has already been fixed on master. The problem is that when `tramp-syntax` is set to `simplified`, then `find-file` can produce an empty completion for `completing-read`. (The vertico author’s suggestion is that empty completions are invalid.) Emacs then tries to add a text property to a one-character span of this empty completion candidate, which of course does not work. I give steps to reproduce in the bug report above, but they require the use of vertico, which is obviously not ideal, apologies. It seems that in vanilla Emacs the bug does not have obvious consequences. I can confirm at least that the bug also manifests when the user has no `.ssh/config` file. In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2025-02-25, modified by Debian built on lcy02-amd64-066 Windowing system distributor 'The X.Org Foundation', version 11.0.12101011 System Description: Ubuntu 24.04.2 LTS Configured using: 'configure --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/libexec --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/30.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/30.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/libexec --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/30.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/30.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --with-cairo --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/build/emacs-XzQpMq/emacs-30.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/build/emacs-XzQpMq/emacs-30.1=/usr/src/emacs-1:30.1-0build1~ubuntu2404 -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=3' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_MONETARY: en_GB.UTF-8 value of $LC_NUMERIC: en_GB.UTF-8 value of $LC_TIME: en_GB.UTF-8 value of $LANG: en_GB.UTF-8 value of $XMODIFIERS: @im=local locale-coding-system: utf-8-unix Major mode: Markdown Minor modes in effect: global-jinx-mode: t jinx-mode: t window-margin-mode: t adaptive-wrap-prefix-mode: t word-wrap-whitespace-mode: t goto-address-mode: t smart-quotes-mode: t global-git-commit-mode: t override-global-mode: t server-mode: t global-flycheck-mode: t yas-global-mode: t yas-minor-mode: t vertico-multiform-mode: t vertico-mode: t savehist-mode: t save-place-mode: t repeat-mode: t recentf-mode: t minibuffer-electric-default-mode: t marginalia-mode: t global-whitespace-mode: t global-auto-revert-mode: t electric-pair-mode: t editorconfig-mode: t dtrt-indent-global-mode: t dtrt-indent-mode: t ctrlf-mode: t ctrlf-local-mode: t tooltip-mode: t global-eldoc-mode: t 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 minibuffer-regexp-mode: t column-number-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t auto-save-visited-mode: t Load-path shadows: /home/rrt/.emacs.d/elpa/editorconfig-20250219.1528/editorconfig-core hides /usr/share/emacs/30.1/lisp/editorconfig-core /home/rrt/.emacs.d/elpa/editorconfig-20250219.1528/editorconfig-conf-mode hides /usr/share/emacs/30.1/lisp/editorconfig-conf-mode /home/rrt/.emacs.d/elpa/transient-0.9.4/transient hides /usr/share/emacs/30.1/lisp/transient /home/rrt/.emacs.d/elpa/editorconfig-20250219.1528/editorconfig-fnmatch hides /usr/share/emacs/30.1/lisp/editorconfig-fnmatch /home/rrt/.emacs.d/elpa/editorconfig-20250219.1528/editorconfig hides /usr/share/emacs/30.1/lisp/editorconfig /home/rrt/.emacs.d/elpa/editorconfig-20250219.1528/editorconfig-tools hides /usr/share/emacs/30.1/lisp/editorconfig-tools /home/rrt/.emacs.d/elpa/editorconfig-20250219.1528/editorconfig-core-handle hides /usr/share/emacs/30.1/lisp/editorconfig-core-handle /home/rrt/.emacs.d/elpa/python-0.30/python hides /usr/share/emacs/30.1/lisp/progmodes/python /home/rrt/.emacs.d/elpa/dictionary-20201001.1727/dictionary hides /usr/share/emacs/30.1/lisp/net/dictionary Features: (shadow sort mail-extr emacsbug help-fns radix-tree mule-util vertico-sort ispell jinx window-margin adaptive-wrap word-wrap-mode goto-addr smart-quotes smart-mode-line advice rich-minority zetteldeft ace-window avy deft typescript-ts-mode js c-ts-common cc-mode cc-fonts cc-guess cc-menus cc-cmds texinfo texinfo-loaddefs iimage flycheck-nim nim-mode commenter nim-fill nim-smie let-alist smie nim-helper nim-util nim-syntax nim-rx nim-vars git-commit log-edit message sendmail yank-media rfc822 mml mml-sec epa gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log go-mode find-file ffap etags fileloop generator dired-x cc-styles cc-align cc-engine derived lsp lsp-mode lsp-protocol xref project spinner network-stream puny nsm markdown-mode color noutline outline lv inline imenu ht f s ewoc epg rfc6068 epg-config dash compile text-property-search ctrlf hl-line orderless use-package-ensure use-package-bind-key bind-key magit-process with-editor server magit-mode transient pp edmacro kmacro benchmark magit-git magit-base magit-section cursor-sensor crm llama comp comp-cstr warnings comp-run comp-common use-package-core bug-reference-github bug-reference thingatpt vc-git diff-mode track-changes vc-dispatcher flycheck find-func cl-extra tramp-cache time-stamp tramp-cmds smart-mode-line-dark-theme rrt-theme yasnippet vertico-multiform vertico savehist saveplace tramp trampver tramp-integration files-x tramp-message help-mode tramp-compat xdg shell pcomplete comint ansi-osc ring parse-time iso8601 time-date format-spec ansi-color tramp-loaddefs repeat recentf tree-widget wid-edit minibuf-eldef marginalia compat whitespace autorevert filenotify elec-pair editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch dtrt-indent desktop frameset cus-load user-site-loaddefs cc-vars cc-defs treesit 0blayout-autoloads ada-mode-autoloads adoc-mode-autoloads apache-mode-autoloads async-autoloads auctex-latexmk-autoloads auctex-autoloads tex-site browse-kill-ring-autoloads bug-reference-github-autoloads cmake-mode-autoloads company-autoloads consult-lsp-autoloads csv-autoloads csv-mode-autoloads ctrlf-autoloads easy-mmode cython-mode-autoloads dictionary-autoloads connection-autoloads dired-atool-autoloads dired-efap-autoloads direnv-autoloads dmacro-autoloads dockerfile-mode-autoloads dos-autoloads dpkg-dev-el-autoloads debian-el-autoloads debian-el dired dired-loaddefs dynamic-fonts-autoloads editorconfig-autoloads eldoc-extension-autoloads embark-consult-autoloads consult-autoloads embark-autoloads flymake-cursor-autoloads forge-autoloads closql-autoloads emacsql-autoloads fuzzy-autoloads geiser-guile-autoloads geiser-autoloads ggo-mode-autoloads ghub-autoloads gnat-compiler-autoloads go-eldoc-autoloads go-mode-autoloads graphviz-dot-mode-autoloads haskell-mode-autoloads highlight-indentation-autoloads hover-autoloads hyperspace-autoloads inputrc-mode-autoloads jade-mode-autoloads jedi-autoloads auto-complete-autoloads jedi-core-autoloads jinx-autoloads json-mode-autoloads json-reformat-autoloads json-snatcher-autoloads link-autoloads lsp-pyright-autoloads lsp-ui-autoloads lsp-mode-autoloads ht-autoloads f-autoloads lua-mode-autoloads magit-autoloads pcase magit-section-autoloads llama-autoloads marginalia-autoloads markdown-preview-mode-autoloads markdown-mode-autoloads meson-mode-autoloads nim-mode-autoloads flycheck-nimsuggest-autoloads flycheck-autoloads commenter-autoloads epc-autoloads ctable-autoloads concurrent-autoloads orderless-autoloads org-bullets-autoloads org-real-autoloads boxy-autoloads package-lint-autoloads paredit-autoloads perl-completion-autoloads popup-autoloads posframe-autoloads projectile-autoloads protobuf-mode-autoloads python-autoloads python-environment-autoloads deferred-autoloads python-isort-autoloads reformatter-autoloads region-occurrences-highlighter-autoloads request-autoloads rust-mode-autoloads s-autoloads smart-mode-line-autoloads sws-mode-autoloads systemd-autoloads rx transient-autoloads treepy-autoloads unicode-fonts-autoloads font-utils-autoloads unicode-whitespace-autoloads ucs-utils-autoloads persistent-soft-autoloads list-utils-autoloads pcache-autoloads dash-autoloads vertico-autoloads websocket-autoloads wgrep-autoloads wisi-autoloads with-editor-autoloads info writeroom-mode-autoloads visual-fill-column-autoloads yaml-autoloads yaml-mode-autoloads deft-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 icons 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/x-win x-win term/common-win x-dnd touch-screen 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 lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 499678 539672) (symbols 48 35095 5) (strings 32 184136 126360) (string-bytes 1 7603928) (vectors 16 72623) (vector-slots 8 815144 81032) (floats 8 299 1827) (intervals 56 3798 745) (buffers 992 12)) -- https://rrt.sc3d.org
[Message part 3 (message/rfc822, inline)]
From: Michael Albinus <michael.albinus <at> gmx.de> To: Reuben Thomas <rrt <at> sc3d.org> Cc: Daniel Mendler <mail <at> daniel-mendler.de>, 79173-done <at> debbugs.gnu.org Subject: Re: bug#79173: 30.1; TRAMP simplified syntax produces empty completing-read candidates Date: Thu, 07 Aug 2025 16:47:51 +0200Version: 30.3 Reuben Thomas <rrt <at> sc3d.org> writes: Hi Reuben, > Great, I can confirm this works for me too, also with my standard > setup. Thanks for the feedback. So I'm closing this bug for "Emacs 30.3". I don't know whether this release will happen, but the current release under test, Emacs 30.2, won't get this patch. Best regards, Michael.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.