This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author steve.dower
Recipients BreamoreBoy, barry, brett.cannon, christopher.hogan, dstufft, eric.araujo, mgiuca, ncoghlan, r.david.murray, steve.dower, tarek, zach.ware
Date 2015-08-19.23:19:20
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1440026360.86.0.256945903441.issue8987@psf.upfronthosting.co.za>
In-reply-to
Content
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 :) )
History
Date User Action Args
2015-08-19 23:19:20steve.dowersetrecipients: + steve.dower, barry, brett.cannon, ncoghlan, tarek, eric.araujo, mgiuca, r.david.murray, BreamoreBoy, zach.ware, dstufft, christopher.hogan
2015-08-19 23:19:20steve.dowersetmessageid: <1440026360.86.0.256945903441.issue8987@psf.upfronthosting.co.za>
2015-08-19 23:19:20steve.dowerlinkissue8987 messages
2015-08-19 23:19:20steve.dowercreate