Fix for bug #1634343: allow specifying empty arguments on Windows
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index ea1e0d1..8b25c2f 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -499,7 +499,7 @@
         if result:
             result.append(' ')
 
-        needquote = (" " in arg) or ("\t" in arg)
+        needquote = (" " in arg) or ("\t" in arg) or arg == ""
         if needquote:
             result.append('"')
 
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 64f8d40..c2db6fa 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -430,6 +430,8 @@
                          '"a\\\\b c" d e')
         self.assertEqual(subprocess.list2cmdline(['a\\\\b\\ c', 'd', 'e']),
                          '"a\\\\b\\ c" d e')
+        self.assertEqual(subprocess.list2cmdline(['ab', '']),
+                         'ab ""')
 
 
     def test_poll(self):