[Python-Dev] Vacation and possibly a new bug (original) (raw)

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