Author vstinner
Recipients amaury.forgeotdarc, ezio.melotti, vstinner
Date 2011-11-17.00:45:41
SpamBayes Score 9.65602e-09
Marked as misclassified No
Message-id <1321490742.62.0.303878841436.issue13415@psf.upfronthosting.co.za>
In-reply-to
Content
> But... there is no os.unsetenv on Windows!

Correct, even unsetenv() doesn't exist on Windows: putenv() can be used to unset a variable using an empty value. And it's exactly what Python does.

It is confusing because posix_unsetenv() is not build on Windows, but it contains code specific for Windows.

While testing del os.environ[key], I found another bug: del os.environ['x'*50000] does crash Python on Windows.

Attached patch (for Python 3.3) does:

 - Remove the Windows specific code from posix_unsetenv()
 - Check if unsetenv() failed on UNIX
 - Check environment variable length on Windows

The Windows bug does affect Python 2.7 too. "Check if unsetenv() failed on UNIX" change may be skipped on Python 2.7 and 3.2.
History
Date User Action Args
2011-11-17 00:45:42vstinnersetrecipients: + vstinner, amaury.forgeotdarc, ezio.melotti
2011-11-17 00:45:42vstinnersetmessageid: <1321490742.62.0.303878841436.issue13415@psf.upfronthosting.co.za>
2011-11-17 00:45:42vstinnerlinkissue13415 messages
2011-11-17 00:45:41vstinnercreate