M.-A. Lemburg wrote: > I've tried to find documentation on _dosmaperr() but there's > nothing on MSDN. Is this an official API ?
No. It always was undocumented, and apparently intentionally so (both the API, and the precise details of the mapping). > FWIW, this is the official system error code table: > > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/system_error_codes.asp This is actually the contents of winerror.h (in a different presentation form). > A complete table would be quite large... Actually, no. _dosmaperr maps the majority of the codes to EINVAL (invalid argument). Only a small subset is special-cased. > Right, but the APIs you changed used to raise IOError > using the DOS error codes - this is where there's an > incompatibility, since they now raise WindowsErrors > with completely different error codes. > > The discussion > > http://mail.python.org/pipermail/python-dev/2006-January/060243.html > > suggests that you are aware of this. I fully understand that this is an incompatible change; sure. I'm saying that changing WindowsError to include set errno to DOS error codes would *also* be an incompatible change. > Since code catching IOError will also see any WindowsError > exception, I'd opt for making .errno always return the > DOS/BSD error codes and have WindowsError grow an > additional .winerrno attribute which contains the > more fine-grained Win32 error code. Ok. I'll try to come up with a patch, but let me repeat this: even though this would nearly restore the behavior for the functions that I changed, it would *a different* incompatible change, since it would change the behavior of the places that *currently* (i.e. in 2.4) raise WindowsError. Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com