Hi Guille, Thanks for your reply.
On Mon, Aug 14, 2017 at 01:44:41PM +0200, Guillermo Polito wrote: > > > On Sun, Aug 13, 2017 at 5:54 PM, Alistair Grant <[email protected]> wrote: > > Hi All, > > Is there any practical difference between (Path * '') and (Path > workingDirectory)? > > > Being strict, Path workingDirectory does not make any sense. A path is > relative > or absolute. True, but Path is considered internal, so users shouldn't normally be calling Path>>workingDirectory. I'm asking because the patch I'm preparing to improve canonicalisation affects the creation of the path in some instances ('.' asFileReference used to have a path with an empty segment, now it has Path workingDirectory). Just for the record :-) Path workingDirectory isRelative " true" > And it is relative to some other path. Right, Pharo defines the image directory as the working directory (although https://github.com/pharo-project/pharo/pull/92 will change that to the more common shell interpretation of current working directory). > I'd expect that Path workingDirectory gives you an absolute path to the > current > working directory,,, But the path doesn't have a file system to resolve against. Although even FileLocator workingDirectory gives a relative path. Thanks again, Alistair > Their internal representation is different: > > - (Path * '') has one empty segment > - Path workingDirectory has no segments > > But as far as I can tell they are otherwise the same: > > > | fs frEmpty frWD | > > fs := FileSystem disk. > frEmpty := FileReference fileSystem: fs path: (Path * ''). > frWD := FileReference fileSystem: fs path: Path workingDirectory. > String streamContents: [ :stream | > stream > << 'frEmpty: '; > << frEmpty printString; cr; > << 'frWD: '; > << frWD printString; cr; > << '= : '; > << (frEmpty absolutePath = frWD absolutePath) printString; cr. > ] > > 'frEmpty: "File @ " > frWD: "File @ ." > = : true > ' > > > Cheers, > Alistair > > > > > > -- > Guille Polito > [CNRS-filaire] > > Research Engineer > > French National Center for Scientific Research - http:// > www.cnrs.fr > > > > Web: http://guillep.github.io > > Phone: +33 06 52 70 66 13 >
