Subject: 29.0.90; Tramp all-completions errors with internal error
From: Daniel Mendler <[email-masked]>
To: Michael Albinus <[email-masked]>, [email-masked]
Date: Thu, 27 Apr 2023 20:40:56 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

I accidentally typed /sudo:::/ instead of /sudo::/ in the file
completion prompt of my Vertico completion UI. Vertico immediately
recomputes candidates and in this case shows an internal Tramp error.

File error: tramp-sh-handle-file-name-all-completions: internal error
accessing ‘/root/\:/’: ‘’

For reproduction, this internal error can be triggered by executing the
following expressions:

(all-completions "/sudo:::/" #'completion-file-name-table)
(try-completion "/sudo:::/" #'completion-file-name-table)

I am not sure if this can be considered a bug, certainly not a serious
one. Usually completion tables are supposed to not show such
internal errors. Instead they ideally just return nil signaling the
absence of matches. Maybe this indicates some problem in the Tramp file
handler parser, which could bail out earlier on such an invalid path?

Thanks!

Daniel

----

In GNU Emacs 29.0.90 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.16.0, Xaw scroll bars) of 2023-04-27 built on projects
Repository revision: a40b1cba5ea53a780e9d3bb6b36e050dfa5e7c12
Repository branch: debundlemacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure --prefix=/home/user/emacs/install --with-json
 --with-native-compilation --with-x-toolkit=athena --without-dbus
 --without-selinux --without-threads --without-gsettings --with-cairo'