Subject: Re: bug#10085: 24.0.91; completion-pcm--find-all-completions returns wrong remote file names

From: Stefan Monnier <[email-masked]>
Date: Fri, 30 Mar 2012 14:28:44 -0400

> Start "emacs -Q".  Apply "C-x C-f /sudo:: TAB".  This results in
> "/sudo:sudo:root@". A correct expansion would be "/sudo:root@".

Still trying to figure out what's really going on inside Tramp.
Something I bumped into along the way (still doesn't quite explain it) is:

  (let ((non-essential t))   (file-name-nondirectory "/sudo:")) -> "sudo:"
  (let ((non-essential nil)) (file-name-nondirectory "/sudo:")) -> ""

I think it's wrong for those two to return different values.
`non-essential' should prevent connecting to the remote host, but here
neither operation needs to contact the remote host.  And of course,
things are made worse because it's not only `non-essential' that
controls the behavior but also `last-input-event' which makes debugging
that much more .... interesting.

        Stefan