Merged revisions 82076 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r82076 | jean-paul.calderone | 2010-06-18 16:03:54 -0400 (Fri, 18 Jun 2010) | 19 lines

  Merged revisions 82075 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r82075 | jean-paul.calderone | 2010-06-18 16:00:17 -0400 (Fri, 18 Jun 2010) | 12 lines

    Revert r60115

    This revision introduced quoting for strings containing | based
    on a misunderstanding of the commonly used quoting rules used
    on Windows.

    | is interpreted by cmd.exe, not by the MS C runtime argv initializer.
    It only needs to be quoted if it is part of an argument passed through
    cmd.exe.

    See issue1300, issue7839, and issue8972.
  ........
................
This commit is contained in:
Jean-Paul Calderone 2010-06-18 20:11:43 +00:00
parent 62f080c22e
commit 2323d20289
2 changed files with 3 additions and 5 deletions

View File

@ -479,8 +479,8 @@ def list2cmdline(seq):
2) A string surrounded by double quotation marks is
interpreted as a single argument, regardless of white space
or pipe characters contained within. A quoted string can be
embedded in an argument.
contained within. A quoted string can be embedded in an
argument.
3) A double quotation mark preceded by a backslash is
interpreted as a literal double quotation mark.
@ -508,7 +508,7 @@ def list2cmdline(seq):
if result:
result.append(' ')
needquote = (" " in arg) or ("\t" in arg) or ("|" in arg) or not arg
needquote = (" " in arg) or ("\t" in arg) or not arg
if needquote:
result.append('"')

View File

@ -477,8 +477,6 @@ class ProcessTestCase(unittest.TestCase):
'"a\\\\b\\ c" d e')
self.assertEqual(subprocess.list2cmdline(['ab', '']),
'ab ""')
self.assertEqual(subprocess.list2cmdline(['echo', 'foo|bar']),
'echo "foo|bar"')
def test_poll(self):