Package: emacs;
Reported by: "Timothy J. Miller" <tmiller <at> mitre.org>
Date: Thu, 14 Aug 2025 13:38:02 UTC
Severity: normal
Tags: patch
Found in version 30.1
Fixed in version 31.1
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: "Timothy J. Miller" <tmiller <at> mitre.org> Subject: bug#79236: closed (Re: bug#79236: 30.1; file-directory-p in read-file-name prevents TRAMP protocol, user, and host completions) Date: Fri, 29 Aug 2025 11:54:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report #79236: 30.1; file-directory-p in read-file-name prevents TRAMP protocol, user, and host completions which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 79236 <at> debbugs.gnu.org. -- 79236: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79236 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Michael Albinus <michael.albinus <at> gmx.de> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Dmitry Gutov <dmitry <at> gutov.dev>, 79236-done <at> debbugs.gnu.org, tmiller <at> mitre.org, Stefan Monnier <monnier <at> iro.umontreal.ca> Subject: Re: bug#79236: 30.1; file-directory-p in read-file-name prevents TRAMP protocol, user, and host completions Date: Fri, 29 Aug 2025 13:53:00 +0200Version: 31.1 Michael Albinus <michael.albinus <at> gmx.de> writes: Hi, > The appended patch seems to fix it. But I don't know whether this is the > way to go. Stefan? No comment, so I've pushed the patch to master (plus some needed changes in Tramp). Closing the bug. Best regards, Michael.
[Message part 3 (message/rfc822, inline)]
From: "Timothy J. Miller" <tmiller <at> mitre.org> To: bug-gnu-emacs <at> gnu.org Subject: 30.1; file-directory-p in read-file-name prevents TRAMP protocol, user, and host completions Date: Thu, 14 Aug 2025 08:34:43 -0500From `emacs -Q`: (require 'tramp) (read-file-name "With file-directory-p: " default-directory nil t nil 'file-directory-p) - Type "/<TAB>" at the prompt. TRAMP protocols are missing from the completions list. - Type "/ssh:<TAB>" at the prompt. TRAMP username & hostname are missing from the completion list. By way of contrast: (read-file-name "Without file-directory-p: " default-directory nil t nil nil) Repeating the two test cases above, TRAMP suggestions are present. read-directory-name calls read-file-name with file-directory-p as the match predicate, and project.el project-prompt-project-dir loads new projects with read-directory-name. This bug prevents easy selection of projects on remote servers. Because find-file works correctly with the same emacs configuration, this breaks user expectations. In GNU Emacs 30.1 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.65 Version 12.7.6 (Build 21H1320)) of 2025-02-24 built on armbob.lan Windowing system distributor 'Apple', version 10.3.2575 System Description: macOS 15.6 Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules 'CFLAGS=-DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=no' Configured features: ACL GLIB GMP GNUTLS JPEG LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: pixel-scroll-precision-mode: t mu4e-modeline-mode: t delete-selection-mode: t vertico-mouse-mode: t vertico-mode: t nerd-icons-completion-mode: t marginalia-mode: t corfu-history-mode: t savehist-mode: t corfu-popupinfo-mode: t global-corfu-mode: t corfu-mode: t global-hl-todo-mode: t hl-todo-mode: t doom-modeline-mode: t yas-global-mode: t yas-minor-mode: t csv-field-index-mode: t pdf-occur-global-minor-mode: t global-fish-completion-mode: t fish-completion-mode: t override-global-mode: t global-auto-revert-mode: t auto-insert-mode: t electric-pair-mode: t which-key-mode: t xterm-mouse-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-layout-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /Users/tmiller/.emacs.d/elpa/ef-themes-1.10.0/theme-loaddefs hides /Applications/Emacs.app/Contents/Resources/lisp/theme-loaddefs Features: (mailalias mailclient textsec uni-scripts idna-mapping uni-confusable textsec-check shadow mail-extr emacsbug shortdoc comp-common epa-file pixel-scroll cua-base flyspell ispell log-edit add-log vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view pcvs-util vc-dir vc dired-aux nerd-icons-dired mu4e-icalendar gnus-icalendar org-capture icalendar diary-lib diary-loaddefs cus-start mu4e mu4e-org mu4e-notification notifications mu4e-main smtpmail mu4e-view mu4e-mime-parts crm mu4e-headers mu4e-thread mu4e-actions mu4e-compose mu4e-draft gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader range mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku url-file svg xml dom flow-fill hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window ido message sendmail rfc822 mml mml-sec epa epg rfc6068 epg-config 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 mu4e-obsolete em-unix em-term term disp-table ehelp em-script em-prompt em-pred em-ls em-hist em-glob em-extpipe em-basic em-banner em-alias em-tramp em-rebind em-smart misearch multi-isearch pdf-sync pdf-annot facemenu pdf-outline pdf-links pdf-history vertico-directory embark-consult consult yank-media markdown-mode vc-hg vc-bzr pyvenv vc-git vc-dispatcher tramp-cmds vertico-sort tramp-cache time-stamp tramp-sh face-remap pulse color eglot external-completion jsonrpc flymake diff ert ewoc warnings combobulate-autoloads combobulate-go combobulate-json combobulate-yaml combobulate-css combobulate-js-ts combobulate-python combobulate-html combobulate-toml combobulate-cursor combobulate-query derived xref scheme combobulate-ui transient delsel vertico-mouse vertico nerd-icons-completion marginalia nerd-icons-corfu corfu-history savehist corfu-popupinfo corfu hl-todo doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path my-email embark-org embark ffap my-prog-modes my-rego rego-mode reformatter my-lua my-yaml my-python yasnippet-snippets yasnippet my-text my-markdown my-org 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-attach org-glossary org-element org-persist org-id org-refile org-element-ast inline org ob ob-tangle ob-ref ob-lob ob-table org-macro org-src sh-script smie executable ob-comint org-pcomplete org-list org-footnote org-faces org-entities noutline outline org-version ob-emacs-lisp org-table org-keys org-loaddefs thingatpt cal-menu calendar cal-loaddefs avl-tree ol oc ob-exp ob-core org-cycle org-fold org-fold-core org-compat ob-eval org-macs csv-mode sort auctex pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist advice tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch pdf-misc pdf-loader pdf-tools compile pdf-view bookmark text-property-search jka-compr pdf-cache pdf-info tq pdf-util pdf-macs image-mode dired dired-loaddefs exif my-dired my-eshell fish-completion em-cmpl em-dirs esh-mode esh-var eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-module-loaddefs esh-util my-look nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon modus-operandi-theme modus-themes my-emacs tramp trampver tramp-integration files-x tramp-message tramp-compat xdg shell pcomplete parse-time iso8601 time-date tramp-loaddefs cape orderless helpful cc-langs cc-vars cc-defs imenu trace cl-print edebug debug backtrace info-look find-func f help-fns radix-tree elisp-refs s dash use-package-bind-key bind-key autorevert filenotify autoinsert elec-pair which-key xt-mouse cus-edit pp cus-load wid-edit exec-path-from-shell gnutls puny cl-extra help-mode use-package-ensure use-package-core auth-source-pass finder-inf async-autoloads auctex-autoloads tex-site bash-completion-autoloads cape-autoloads format-spec edmacro kmacro combobulate-display let-alist combobulate-ztree combobulate-envelope combobulate-manipulation python project compat comint ansi-osc ring ansi-color combobulate-procedure combobulate-navigation rx combobulate-misc combobulate-setup tempo combobulate-interface pcase combobulate-settings diff-mode track-changes easy-mmode treesit generator combobulate-rules consult-eglot-autoloads consult-flyspell-autoloads corfu-terminal-autoloads corfu-autoloads csv-mode-autoloads dired-subtree-autoloads dired-hacks-utils-autoloads doom-modeline-autoloads edwina-autoloads ef-themes-autoloads ein-autoloads deferred-autoloads anaphora-autoloads embark-consult-autoloads consult-autoloads embark-autoloads esh-autosuggest-autoloads company-autoloads exec-path-from-shell-autoloads fish-completion-autoloads flymake-vale-autoloads helpful-autoloads elisp-refs-autoloads hl-todo-autoloads ht-autoloads lorem-ipsum-autoloads marginalia-autoloads markdown-mode-autoloads mermaid-mode-autoloads nerd-icons-completion-autoloads nerd-icons-corfu-autoloads nerd-icons-dired-autoloads nerd-icons-autoloads ob-mermaid-autoloads orderless-autoloads org-glossary-autoloads org-modern-autoloads pdf-tools-autoloads plantuml-mode-autoloads deflate-autoloads plz-autoloads polymode-autoloads popon-autoloads python-pytest-autoloads pyvenv-autoloads rego-mode-autoloads reformatter-autoloads request-autoloads shrink-path-autoloads f-autoloads dash-autoloads s-autoloads spacious-padding-autoloads tablist-autoloads transpose-frame-autoloads trashed-autoloads vertico-autoloads websocket-autoloads info with-editor-autoloads yaml-autoloads yaml-mode-autoloads yasnippet-snippets-autoloads yasnippet-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/ns-win ns-win ucs-normalize mule-util term/common-win 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 kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 850905 233541) (symbols 48 55383 12) (strings 32 246882 9426) (string-bytes 1 25975776) (vectors 16 94951) (vector-slots 8 969100 119219) (floats 8 5747 6798) (intervals 56 13062 3693) (buffers 992 47)) -- -- T -- -- T
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.