Subject: bug#23186: closed (Re: bug#23186: 25.0.92; Tramp: Windows does not always set COMSPEC, tramp blows up in a string-match)

From: Eli Zaretskii <[email-masked]>
Date: Sun, 03 Apr 2016 17:54:21 +0300

> From: Michael Albinus <[email-masked]>
> Date: Sat, 02 Apr 2016 21:47:48 +0200
> Cc: [email-masked]
> 
> Make a proposal about a config option which could be used
> instead of the COMSPEC env which doesn't exist in your environment. Make
> a proposal how to avoid calling cmd.exe at all, it seems not be
> mandatory, I believe. Propose something else what is possible.

Let me try ;-)

Can you (Michael) explain why does Tramp need this variable, and also
why it needs the companion tramp-encoding-command-switch?  Why not
just use shell-file-name and shell-command-switch?  Or, if you must
look deeper, why not call w32-shell-name or w32-shell-dos-semantics?
I think these already do what you need tramp-encoding-shell for, but
maybe I'm missing something.

If I'm right, and Tramp doesn't really need to calculate the shell's
name separately from the rest of Emacs, then this problem will cease
to be a "Tramp problem".  That won't solve the larger problems the OP
would have in Emacs, but at least Tramp will no longer be accused ;-)