> The current setup will not "silently fail when run on win32". How could > it? It doesn't exist; it can't be run.
Ah...didn't know which it did (or didn't do) as I don't have a win32 box at hand on which to test it. In chasing the matter further, the OP mentioned that their particular problem was related to tilde-expansion/compression which python doesn't seem to distinguish. To take this into consideration, there's some advice at http://groups.google.com/group/comp.lang.python/browse_thread/thread/ee559c99d54d970b/b71cb7ac1b7be105 where Chris Tismer has an example function/module that uses Win32 API calls to normalize a path/filename to the short-name equiv. It looks like this could be integrated into the previous code I posted, so you'd have something like os.path.samefile = lambda f1, f2: ( LongToShort(abspath(f1)).lower() == LongToShort(abspath(f2)).lower() ) As stated, it's a bit fly-by-the-seat-of-the-pants as I don't have any boxes running Win32 here at home, but that would be the general gist of the idea. It would be handy to add it, as the semantic meaning is the same across platforms, even if the implementation details are vastly different. One of the reasons I use python is because it usually crosses platform boundaries with nary a blink. Just a few more ideas, -tkc -- http://mail.python.org/mailman/listinfo/python-list