> I've tried to look a bit more into the test failure Charles Lane 
> reported.  What it boils down to is this.  In 5.005_03, we get:
> 
> $ perl -e "use VMS::Filespec; print vmsify('some/../../where/over/the.rainbow');"
> [-.where.over]the.rainbow
> 
> which is what the vmsfspec.t test expects, but in 5.5.670 we get instead:
> 
> $ perl -e "use VMS::Filespec; print vmsify('some/../../where/over/the.rainbow');"
> [.some.--.where.over]the.rainbow

Er, that's me.  vmsify() originally trimmed off parts of a filespec which were
redundant under VMS (basically ".x.-").  When File::Spec came along, though, a
separate routine named canonify() was introduced to do this, with the logic
that under Unix C<foo/bar/../baz> does not necessarily lead to C<foo/baz>
(specifically, it won't if C<bar> is a symlink to anywhere not in a
subdirectory of C<foo>).  In trying to be a good citizen, I "fixed" vmsify()
and moved the cleanup to File::Spec::VMS::canonify(), in case someone wanted to
go from Unix to VMS and back, or had a (say) NFS flesystem mounted on a VMS
system.  Looks like I missed fixing the test.  Will do.

Regards,
Charles Bailey  [EMAIL PROTECTED]

Reply via email to