On Dec 5, 2008, at 8:35 AM, John E. Malmberg wrote:

Jos Boumans via RT wrote:
<URL: http://rt.cpan.org/Ticket/Display.html?id=41329 >

Unfortuantely while that patch fixes the Archive::Tar tests, it seems to have broken the CPANPLUS tests, which I just found out last night.

The code in question is dealing with directory components that have been split out of a Unix-format path during the process of restoring a tar archive. They will shortly be recombined into a native path so that directory can be created on disk. Calling VMS::Filespec::vmspath on each of the components is a very big hammer and it doesn't surprise me it causes problems elsewhere.

Craig's alternative patch will work for VMS perl in ODS-2 mode only, which is the mode that Perl on VMS has traditionally been.

My patch prevented the special '..' directory from being converted to '__' at the point where we otherwise convert dots to underscores in directory names on VMS. That's all it did, and I don't see anything that would prevent that from working on any volume format. The salient chunk of the patch at http://rt.cpan.org/Public/Bug/Display.html?id=39933 is just:

- map tr/\./_/, @dirs if ON_VMS;
+ map $_ ne '..' && tr/\./_/, @dirs if ON_VMS;

I do not yet have a solution that will work for ODS-2 and ODS-5 properly.


I find this nomenclature confusing. As you well know, the level number of the On-Disk Structure is an indication of volume format. There is no such thing as an ODS-2 or ODS-5 "mode." It is true that some Unix emulation features of the C run-time and the filesystem are only supported on ODS-5 volumes. If what you are talking about here is preserving dots in directory names rather than treating them as directory delimiters, I think it would be clearer to say so in so many words.

________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

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

Reply via email to