[Python-3000] Removing windows 95 specific code

"Martin v. Löwis" martin at v.loewis.de
Tue Nov 20 04:48:31 CET 2007

>> a) changes that apply to 2.6 as well should be done there *first*, and
>>    then merged to 3.x (although there are few of them), and
> Ah, I've just read PEP11 - and windows9x is indeed officially not
> supported since 2.6.
> However, python 2 must still compile without Py_USING_UNICODE. So I
> don't think we can get rid of the ANSI functions from the win32 api.

Correct. What *could* be removed is dynamic linking (i.e. where
LoadLibrary/GetProcAddress is done, instead of relying on an import
library). Of course, the question then is what minimum NT version
to support, since older NTs might not have the functions, either.
(my feeling is that Windows 2000 should still be supported; NT4
 support might not be necessary - but then, NT4 isn't currently
 listed in PEP 11)

In addition, the GetFileAttributesEx emulation in posixmodule can be

Also, the 9X support in WinSound can be removed.

>> b) there is debate whether w9xpopen can disappear on NT (Tim Peters once
>>    hinted that it should stay if COMSPEC is not cmd.exe).
> command.com does exists on my windows XP box, but is it really used?

I think it does get used if you set COMSPEC, and not only by Python,
but (at least) in all cases where the CRT system() is called. Of course,
nobody really sets this environment variable, but we can't know
(unless we officially stop honoring it).

I think the concern is also about shells other than command.com,
such as 4NT (can you set COMSPEC to the PowerShell?). If you google
for it, you find that people do use 4NT, and apparently also make
COMSPEC point to it.


More information about the Python-3000 mailing list