Hi,

while working with docker-tramp 0.1.1 and not setting
docker-tramp-docker-executable correctly on a Fedora system,
I noticed this odd behaviour:

| ELISP> (add-to-list 'tramp-methods
|                     '("test-dne"
|                       (tramp-login-program "does-not-exist")
|                       (tramp-login-args (nil ("exec" "-it") ("-u" "%u") 
("%h") ("sh")))
|                       (tramp-remote-shell "/bin/sh")
|                       (tramp-remote-shell-args ("-i" "-c"))))
| (("test-dne"
|   (tramp-login-program "does-not-exist")
|   (tramp-login-args
|    (nil
|     ("exec" "-it")
|     ("-u" "%u")
|     ("%h")
|     ("sh")))
|   (tramp-remote-shell "/bin/sh")
|   (tramp-remote-shell-args
|    ("-i" "-c")))
|  […])

| ELISP> (find-file "/test-dne:does-not-exist-either:/etc/passwd")
| #<buffer passwd>
| ELISP>

The resulting buffer will contain the contents of
/etc/passwd on the primary system (well, there are no
others :-)).

My assumption is that technically this is not an error as
with the great power that Emacs gives to the user comes
great responsibility to set one's variables properly :-).

I have not debugged where this behaviour is rooted and
whether it can be "fixed" easily, but if TRAMP can detect
that the call to tramp-login-program fails, it would be nice
if it could croak.

Tim

Reply via email to