std.path review: update
Lars T. Kyllingstad
public at kyllingen.NOSPAMnet
Mon Jul 18 11:30:51 PDT 2011
On Mon, 18 Jul 2011 13:26:08 -0400, Steven Schveighoffer wrote:
> On Sun, 17 Jul 2011 18:24:30 -0400, Andrej Mitrovic
> <andrej.mitrovich at gmail.com> wrote:
>
>> On 7/17/11, Lars T. Kyllingstad <public at kyllingen.nospamnet> wrote:
>>> - Should I add toNativePath(), which replaces '/' with '\' on Windows
>>> and
>>> vice versa on POSIX?
>>
>> Actually I withdraw that feature request. Some tools will work with
>> only forward slashes, others only backward slashes, but this is
>> regardless of what platform they're on.
>>
>> E.g. some tools don't work with forward slashes, while GIT doesn't work
>> with backward slashes when running on Windows.
>>
>> I think .replace(r"\", "/") and .replace("/", r"\") are good enough,
>> but maybe an alias to each version wouldn't be bad. E.g.
>> "toForwardSlash" and "toBackslash". It's not hard to define this in our
>> own code, so it's not really a feature request.
>
>
> Hum... I wonder if normalize should do this...
>
> Is normalize supposed to create a canonical path? If so, then this
> needs to happen.
normalize does this on Windows, where '/' is also a directory separator,
but not on POSIX, where '\' is an ordinary filename character.
I am not entirely sure what the exact definition of "canonical path" is,
but according to some it entails resolving symlinks. normalize does not
do this, but it does everything else:
- resolves . and .. to the extent possible
- collapses redundant directory separators
- changes '/' to '\' on Windows
-Lars
-Lars
More information about the Digitalmars-d
mailing list