Subject: bug#8132: 23.1; comint shell replaces \ in paths with /

From: Eli Zaretskii <[email-masked]>
Date: Mon, 28 Feb 2011 20:34:04 +0200

> Date: Mon, 28 Feb 2011 15:59:07 +0100
> From: Zeljko Vrba <[email-masked]>
> Cc: [email-masked]
> 
> On 2011-02-28 4:32 AM, Stefan Monnier wrote:
> >> On Windows 7 (64-bit mod), run M-x shell, and try to do any filename
> >> expansion.  All backslashes (even
> >> manually typed!) are converted to forward slashes upon tab-expansion.
> >
> > Yes, that's the expected behavior.  Could you explain why it's
> > a problem?
> >
> It is a problem because commands built in to cmd.exe (and also external 
> commands) interpret slash as a command-line switch character.  So you 
> end up with the following situation:
> 
> --> comint expanded \ to / : del ../lpeg-0.10.2/re.html
> Invalid switch - "lpeg-0.10.2".
> 
> In short, it breaks all native windows command-line tools.

Do you really need cmd.exe as your shell inside Emacs?  What cmd
features do you depend on?

If you just need an interactive shell session within Emacs, I suggest
to try eshell instead.  Its command work just fine with forward
slashes.