>> However, another problem came to my attention (still with just emacs -Q >> from commit c8357582389 (emacs-29 branch from last thursday) + your >> patch): >> >> When I try to find a file starting with "/ssh:user@host:", Emacs starts >> using 100 % CPU and hangs. The same with "sshx" works fine. I did not >> try without the patch, yet. I am currently compiling the most recent >> emacs-29 without the patch, and will send a quick note on what happens >> there. > > Pls set tramp-verbose to 10, and rerun your test. There will be a Tramp > debug buffer, which tells us what happens. In the mean time, I also tried without the patch applied. The same there. And now, with the most recent Emacs 29 (0154f5885e3) including your patch, by running rm -rf ~/.emacs ~/.emacs.d && \ ~/usr/emacs/0/29/0/src/emacs -Q \ --eval '(setq native-comp-jit-compilation nil tramp-verbose 10)' & and then ‘C-x C-f’ on "/ssh:w@wolke:". After a bit of waiting and 100 % CPU, the buffer ‘*Messages*’ contains: For information about GNU Emacs and the GNU system, type C-h C-a. Waiting for git... [2 times] Tramp: Opening connection nil for w@wolke using ssh...failed Tramp: Opening connection nil for w@wolke using ssh... Timeout reached, see buffer ‘*tramp/ssh w@wolke*’ for details Tramp: Opening connection nil for w@wolke using ssh...failed tramp-error: Timeout reached, see buffer ‘*tramp/ssh w@wolke*’ for details However, buffer ‘*tramp/ssh w@wolke*’ does not exist. ‘*debug tramp*’ contains: backtrace() tramp-error(nil file-error "Timeout reached, see buffer ‘*tramp/ssh w@wolke*’ ...") tramp-signal-hook-function(file-error ("Timeout reached, see buffer ‘*tramp/ssh w@wolke*’ ...")) signal(file-error ("Timeout reached, see buffer ‘*tramp/ssh w@wolke*’ ...")) tramp-maybe-open-connection((tramp-file-name "ssh" "w" nil "wolke" nil "" nil)) tramp-send-command((tramp-file-name "ssh" "w" nil "wolke" nil "" nil) "echo ~ 2>/dev/null; echo tramp_exit_status $?") tramp-send-command-and-check((tramp-file-name "ssh" "w" nil "wolke" nil "" nil) "echo ~") tramp-sh-handle-get-home-directory((tramp-file-name "ssh" "w" nil "wolke" nil "" nil) "") apply(tramp-sh-handle-get-home-directory ((tramp-file-name "ssh" "w" nil "wolke" nil "" nil) "")) tramp-sh-file-name-handler(tramp-get-home-directory (tramp-file-name "ssh" "w" nil "wolke" nil "" nil) "") apply(tramp-sh-file-name-handler tramp-get-home-directory ((tramp-file-name "ssh" "w" nil "wolke" nil "" nil) "")) tramp-file-name-handler(tramp-get-home-directory (tramp-file-name "ssh" "w" nil "wolke" nil "" nil) "") tramp-get-home-directory((tramp-file-name "ssh" "w" nil "wolke" nil "" nil) "") tramp-sh-handle-expand-file-name("/ssh:w@wolke:" nil) apply(tramp-sh-handle-expand-file-name ("/ssh:w@wolke:" nil)) tramp-sh-file-name-handler(expand-file-name "/ssh:w@wolke:" nil) apply(tramp-sh-file-name-handler expand-file-name ("/ssh:w@wolke:" nil)) tramp-file-name-handler(expand-file-name "/ssh:w@wolke:" nil) expand-file-name("/ssh:w@wolke:") find-file-noselect("/ssh:w@wolke:" nil nil t) find-file("/ssh:w@wolke:" t) funcall-interactively(find-file "/ssh:w@wolke:" t) command-execute(find-file) Apart from that, there is a really long buffer ‘*debug tramp/ssh w@wolke*’ with 48 MiB of content. In the hope that I do not publicly expose sensible information, I attached it to this mail.