[issue8391] os.execvpe() doesn't support surrogates in env

STINNER Victor report at bugs.python.org
Fri Apr 16 03:00:31 CEST 2010


STINNER Victor <victor.stinner at haypocalc.com> added the comment:

New version of the patch:
 - factorize code between execve(), spawnve() and spawnvpe()
 - support also surrogates in environment variable names
 - support bytes and bytearray (bytearray cannot be used as a dictionary key, but my patch supports it)
 - remove unrelated fix (my first patch contains a fix for os.system(), also about surrogates)

Because of the factorization, the error messages doesn't contain the function name anymore. spawnve() and spawnvpe() omit BEGINLIBPATH and ENDLIBPATH, as execve(): "that Would Confuse Programs if Passed On". I suppose that if execve() ignore them, spawn*e() should also ignore them.

I don't have an OS/2, so I'm unable to test my patch on this OS :-/

Note: The patch fixes also subprocess to support bytes and bytearray in the environment dictionary.

----------
Added file: http://bugs.python.org/file16940/os_execvpe_surrogates-2.patch

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8391>
_______________________________________


More information about the Python-bugs-list mailing list