At 4:06 PM +0100 8/20/07, Steve Hay wrote:
>John E. Malmberg wrote:
>> Steve Hay wrote:
>>> Craig A.Berry wrote:
>>>
>>>> Change 31726 by [EMAIL PROTECTED] on 2007/08/16 17:05:48
>>>>
>>>>            Subject: [EMAIL PROTECTED] fix
>>>
>>> for VMS
>>>
>>>>    From: "John E. Malmberg" <[EMAIL PROTECTED]>
>>>>    Date: Thu, 16 Aug 2007 00:27:35 -0500
>>>>    Message-id: <[EMAIL PROTECTED]>
>>>
>>>
> >> This breaks on Win32.

Sorry about that.  I confess not thinking through the patch with any care.

> >> I've therefore put a splitdir() call back into the test to break down
>>> that list of directories, so that they can all get joined back
>>> together in Unix style (change #31727). Hope it's still OK on VMS!
>>
>> Splitdir can only be portably used on path specifications that only
>> contain directories.  $rv-{file} contains a file specification, and so
>> does the resulting @rv_path.
>>
>> This patch breaks VMS again.
>
>Are you sure? I deliberately only ran splitdir() on $rv_path[1] (the
>portion of @rv_path that contains the directories only) to try to avoid
>problems like this.

Yes, it does now break on VMS.  The problem is that splitdir converts
to native syntax before splitting (I think via canonpath).  Then the
whole mess gets recombined with File::Spec::Unix::catfile like so

  DB<6> r
scalar context return from File::Spec::Unix::catfile: 
'/[000000/Module/Load]^/Conditional.pm'

so you have an unspeakable mash of incompatible syntax.  The fact
that there is a splitpath but no catpath is automatically suspect,
but I haven't held my nose long enough to distinguish among what it
thinks it's doing, what it's actually doing, and what it ought to be
doing.

-- 
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to