"Lars T. Kyllingstad" <public@kyllingen.NOSPAMnet> wrote in message news:ivpl34$gf5$3...@digitalmars.com... > On Fri, 15 Jul 2011 02:45:02 +0200, Andrej Mitrovic wrote: > >> All functions have nice names except fcmp, why the abbreviation? > > For consistency with std.algorithm.cmp and std.string.icmp, on which it > is based. I'd be open for other suggestions if people think it should be > changed. >
I'm happy with it having the obscure name "fcmp" because *all* it is is either a case-insensitive or case-sensitive string comparison, and I think it's dangerous to blindly use that to compare filepaths. If it were named something like "filePathCompare", then people would get a nastly surprise when this returned false instead of true: filePathCompare(r"C:\dir\file.txt", r"C:\dir/foo\..\file.txt"); I can't imagine getting false from that would ever be desirable. This is a big part of why I think we need a canonical() function (although maybe a more like "canonicalPath" for the same reason that we have "joinPath" instead of "join"). > >> Is expandTilde supposed to work on Windows? I've never seen tilde used >> there. > > Nope, as specified in the docs it is a no-op on Windows. As Nick points > out, it is not obvious what is the correct "home directory" on Windows. > Moreover, and perhaps even more importantly, there is no precedence for > the tilde character to mean "home directory" on Windows at all. > Actually, if Windows did have one single equivalent to "/home/{user}", then I think it would be absolutely fantastic to make tilde mean "home directory" on Windows. But as things are, that's a moot point, of course.