Steve Dower added the comment:

Switching distutils.spawn to simply use subprocess.Popen (probably keeping the 
explicit path search) looks good to me.

Quoting rules are different when you call with shell=True (aka "cmd.exe /c"), 
since then you also need to escape ^, | and > (with a ^), but if it's being 
passed directly to the process (via CreateProcess) you don't need to do this. 
Popen doesn't appear to handle this correctly either.

Because of the backwards compatibility concerns, realistically I think we can 
only fix this in 3.6 at this stage. The issue has existed for too long to 
convince Larry to take it for 3.5.0, and changing the behaviour of either 
distutils or subprocess between .0 and .1 feels risky to me.

(Adding Brett in case he's motivated to take the opportunity to definitively 
learn and implement Windows's quoting rules and becoming the first person in 
the world to achieve it. Sounds like his kind of thing :) )

----------
nosy: +brett.cannon

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue8987>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to