At 05:16 PM 10/13/2009 +0200, Tarek Ziadé wrote:
Yes the doctest was pretty fuzzy about what is an extension name. It's will be improved in 2.7.
The current code is doing os.path.join()'s to join the Extension name with the build path, leading to the collateral damage you are mentioning. To fix the problem, the API has to be as permissive as it was before.
I have already three or four tests to fix that problem in test_build_ext. If you can take a look at them and think of any other test that would be missing, that would be appreciated. Another pair of eye is never enough.
One identical to test_build_ext_path_with_os_sep, but that explicitly uses a '/' (rather than os.sep) will identify the problem I'm referring to, when run on Windows.
It's common practice to use /-separated paths in setup scripts, regardless of platform. So, your current fix (converting os.sep to '.') will work on Linux, Mac, etc., but fail on Windows when run with the same setup.py, since os.sep is a backslash there.
(Just as a side note, if when you split off issue 7115 you'd said what the new issue number was in 7064, or copied me to the nosy-list on the new issue, I'd have been able to review this change and comment on it yesterday instead of today, and I'd have done it in the bug tracker rather than via Python-Dev.)