[Python-Dev] Vacation and possibly a new bug

Martin v. L÷wis martin@v.loewis.de
16 Jul 2003 06:32:49 +0200


Skip Montanaro <skip@pobox.com> writes:

> I suspect details.filename needs to be set to a unicode object, but I don't
> know where or how.

I see. You should revert Just's checkin of setting
supports_unicode_filenames in posixpath.py. OSX doesn't.

On Windows, posixmodule.c uses posix_error_with_unicode_filename,
which recreates a Unicode object, whereas on Unix (including OSX)
posix_error_with_filename is used, which puts the converted byte
string into the exception.

This is clearly brain-dead: AFAICT, in all cases, we are putting a
basestring object into the exception essentially denoting a file name
which we already have a Python object for. So this entire error
handling should be changed to a new
posix_error_with_basestring_filename, which would pass the original
Python object that the user was providing, instead of creating
new strings for the exception.

However, this would be a significant rewrite of the entire error
handling, which we can't do before 2.3.

Regards,
Martin