Proposal for std.path replacement

Jonathan M Davis jmdavisProg at gmx.com
Sun Mar 6 03:43:10 PST 2011


On Sunday 06 March 2011 03:36:50 Lars T. Kyllingstad wrote:
> On Sun, 06 Mar 2011 01:21:56 -0800, Jonathan M Davis wrote:
> > On Thursday 03 March 2011 08:29:00 Lars T. Kyllingstad wrote:
> >> As mentioned in the "std.path.getName(): Screwy by design?" thread, I
> >> started working on a rewrite of std.path a long time ago, but I got
> >> sidetracked by other things.  The recent discussion got me working on
> >> it again, and it turned out there wasn't that much left to be done.
> >> 
> >> So here it is, please comment:
> >>     http://kyllingen.net/code/ltk/doc/path.html
> >>     https://github.com/kyllingstad/ltk/blob/master/ltk/path.d
> >> 
> >> Features:
> >> 
> >> - Most functions work with all string types, i.e. all permutations of
> >> mutable/const/immutable(char/wchar/dchar)[].  Notable exceptions are
> >> toAbsolute() and toCanonical, because they rely on std.file.getcwd()
> >> which returns an immutable(char)[].
> >> 
> >> - Correct behaviour in corner cases that aren't covered by the current
> >> std.path.  See the other thread for some examples, or take a look at
> >> the unittests for a more complete picture.
> >> 
> >> - Saner naming scheme.  (Still not set in stone, of course.)
> > 
> > I hate to be nitpicky, but I notice that you're the only author listed
> > for this module. The current std.path has several authors - none of
> > which are you. So, unless you rewrote all of the code from scratch
> > (which you may have done), you really should put the other names on it
> > too (though if you rewrote it thoroughly enough, they may have very
> > little left in it that they did; unfortunately, without knowing who
> > wrote what, you need to put all of their names on it if any of the
> > original code is there).
> 
> Everything you see in that module is completely rewritten from scratch.
> I started out by trying to make changes to the original std.path, but
> quickly found that I had to change so much it was better to start with a
> clean slate.
> 
> As long as the module is a part of my own library, and doesn't contain
> anyone else's code, I'll only put my name on it.  When it gets included
> in Phobos, and I add the remaining functions (fcmp, fnmatch, fncharmatch
> and expandTilde), I will of course be sure to list all authors.

That makes sense. It's just that if you didn't rewrite it from scratch, the 
previous authors would need to be there, and we don't want to mess up on 
copyright notices, since that could conveivably cause problems at some point if 
we do mess them up.

- Jonathan M Davis


More information about the Digitalmars-d mailing list