Oops. spawnl() and spawnle() should be implemented on Windows too.
Also added a comment that the 'p' variants (spawnvp() etc.) are *not*
supported on Windows. (They could be by adding them to posixmodule.c)
diff --git a/Lib/os.py b/Lib/os.py
index 8836dd3..057c101 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -330,7 +330,17 @@
def spawnve(mode, file, args, env):
return _spawnvef(mode, file, args, env, execve)
- # Supply the various other variants
+ # Note: spawnvp[e] is't currently supported on Windows
+
+ def spawnvp(mode, file, args):
+ return _spawnvef(mode, file, args, None, execvp)
+
+ def spawnvpe(mode, file, args, env):
+ return _spawnvef(mode, file, args, env, execvpe)
+
+if _exists("spawnv"):
+ # These aren't supplied by the basic Windows code
+ # but can be easily implemented in Python
def spawnl(mode, file, *args):
return spawnv(mode, file, args)
@@ -339,15 +349,12 @@
env = args[-1]
return spawnve(mode, file, args[:-1], env)
+if _exists("spawnvp"):
+ # At the moment, Windows doesn't implement spawnvp[e],
+ # so it won't have spawnlp[e] either.
def spawnlp(mode, file, *args):
return spawnvp(mode, file, args)
def spawnlpe(mode, file, *args):
env = args[-1]
return spawnvpe(mode, file, args[:-1], env)
-
- def spawnvp(mode, file, args):
- return _spawnvef(mode, file, args, None, execvp)
-
- def spawnvpe(mode, file, args, env):
- return _spawnvef(mode, file, args, env, execvpe)