develooper Front page | perl.perl5.porters | Postings from September 2003

File::Spec 0.86 released

Ken Williams
September 26, 2003 09:05
File::Spec 0.86 released
Message ID:

With the release of perl 5.8.1, I also released File::Spec 0.86 to CPAN 
with the identical code & tests to what's in 5.8.1.

The changes since 0.85 were extensive, and spread out over several 


CHANGES for File::Spec

0.86  Fri Sep 26 10:07:39 CDT 2003

  - This is the version released with perl 5.8.1.  It is identical to
    the code in the File::Spec beta 0.85_03.

0.85_03  Mon Sep 15 09:35:53 CDT 2003

  - On VMS, if catpath() receives volume specifiers in both its first
    two arguments, it will now use the volume in the first argument
    only.  Previously it returned a non-syntactical result which
    included both volumes.  This change is the same in spirit to the
    catpath() MacOS change from version 0.85_02.

  - Fixed an abs2rel() bug on VMS - previously
    abs2rel('[t1.t2.t3]file','[t1.t2]') returned '[t3]file', now it
    properly returns '[.t3]file'.

0.85_02  Fri Sep 12 17:11:13 CDT 2003

  - abs2rel() now behaves more consistently across platforms with the
    notion of a volume.  If the volumes of the first and second
    argument (the second argument may be implicit) do not agree, we do
    not attempt to reconcile the paths, and simply return the first
    argument.  Previously the volume of the second argument was
    (usually) ignored, resulting in sometimes-garbage output.

  - catpath() on MacOS now looks for a volume element (i.e. "Macintosh 
    in its first argument, and then its second argument.  The first
    volume found will be used, and if none is found, none will be used.

  - Fixed a problem in abs2rel() on Win32 in which the volume of the
    current working directory would get added to the second argument if
    none was specified.  This might have been somewhat helpful, but it
    was contrary to the documented behavior.  For example,
    abs2rel('C:/foo/bar', '/foo') used to return 'bar', now it returns
    'C:/foo/bar' because there's no guarantee /foo is actually C:/foo .

  - catdir('/', '../') on OS2 previously erroneously returned '//..',
    and now it returns '/'.

0.85_01  Thu Sep 11 16:18:54 CDT 2003

  Working toward 0.86, the version that will be released with perl 5.8.1.

  - The t/rel2abs2rel.t test now is a little friendlier about emitting
    its diagnostic debugging output. [Jarkko Hietaniemi]

  - We now only require() Cwd when it's needed, on demand. [Michael
    Schwern, Tels]

  - Fixed some POD errors and redundancies in and
    [Michael Schwern]

  - The internal method cwd() has been renamed to _cwd(), since it was
    never meant for public use. [Michael Schwern]

  - Several methods in File::Spec::Unix that just return constant
    strings have been sped up.  catdir() has also been sped up there.

  - Several canonpath() and catdir() bugs on Win32 have been fixed, and
    tests added for them:
       catdir('/', '../')   -> '\\'     (was '\..')
       catdir('/', '..\\')  -> '\\      (was '')
       canonpath('\\../')   -> '\\'     (was '')
       canonpath('\\..\\')  -> '\\'     (was '')
       canonpath('/../')    -> '\\'     (was '\..')
       canonpath('/..\\')   -> '\\'     (was '')
       catdir('\\', 'foo')  -> '\foo'   (was '\\foo')

  - catpath($volume, $dirs, $file) on Mac OS now ignores any volume
    that might be part of $dirs, enabling catpath($volume,
    catdir(rootdir(), 'foo'), '') to work portably across platforms. Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About