Subject: Re: Antw: Re: bug#24984: Emacs 25.1.1: Problems with file completion in Windows shell

From: Eli Zaretskii <[email-masked]>
Date: Thu, 24 Nov 2016 19:29:35 +0200

[Please keep the bug address on the CC list.]

> Date: Wed, 23 Nov 2016 09:20:35 +0100
> From: "Ulrich Windl" <[email-masked]>
> 
> >>> Eli Zaretskii <[email-masked]> schrieb am 22.11.2016 um 16:49 in Nachricht
> [...]
> > However, the above example shows one potential user error which could
> > explain what you see: you don't enclose file names with embedded
> > spaces in quotes:
> > 
> >> c:\Windows\system32>cd /Users/Ulrich Windl/
> >> cd /Users/Ulrich Windl/
> > 
> > The first line should say
> > 
> >   c:\Windows\system32>cd "/Users/Ulrich Windl/"
> > 
> > or maybe even
> > 
> >   c:\Windows\system32>cd "\Users/Ulrich Windl\"
> > 
> > If you do that, does the problem go away?
> 
> Yes, if I do that, the problem went away! However what I don't understand (still believing it worked before):
> c:\Windows\system32>cd /Users/Ulrich Windl/
> cd /Users/Ulrich Windl/
> 
> The output created by Emacs indicates it understood the argument, when it did not work, but when I do it correctly, the output is the same:
> c:\Users\Ulrich Windl\Documents\R>cd "/users/ulrich windl"
> cd "/users/ulrich windl"

Emacs is much smarter than cmd.exe.  More importantly, the directory
tracking in shell mode runs before the command is sent to the shell,
so it might not figure out that the shell failed.

In addition, cmd.exe was silently modified in Windows 7 so that it now
recognizes and accepts more dubious commands than before.  For
example, if you try the unquoted cd command, you will see it succeed,
whereas it shouldn't.  (It does fails on XP.)  I believe this is the
reason why you think it used to work in previous versions of Emacs.

So there's quite a hodge-podge of subtle issues and marginally
(in)correct behaviors here.

> And if I do completion in native Windows "cmd", it will place quotes around file names that contain a space. I think Emacs is internally smart enough to handle that case...

It deliberately doesn't try to.

Is it okay to close this bug report?

Thanks.