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

Re: Pls. Review patch@25626 - VMS::Filespec update.

Thread Previous | Thread Next
John E. Malmberg
September 28, 2005 05:31
Re: Pls. Review patch@25626 - VMS::Filespec update.
Message ID:
Michael G Schwern wrote:
> On Wed, Sep 28, 2005 at 12:55:47AM -0400, John E. Malmberg wrote:
>>From my tests on Perl 5.8.7, the modules that need to be changed to test
>>for the existence of these new methods and if they are defined to act on 
>>the results are:
> Just looking at that list of modules that need VMS-specific code, without
> even knowing what has to be changed, leaves me feeling its untenable.  Folks
> can't be expected to put in that much platform specific code, particularly
> a platform most people don't have access to and cannot test against.  If 
> this is just for the core, I'd hate to see what would be necessary for CPAN.
> There's got to be a better way.

Generally the user will set the mode that Perl runs in before they start 
it up, and this since the default is the traditional behavior, existing 
scripts and CPAN modules will continue to work.

It the user needs a CPAN module to work in the newer mode, then they 
will either have to fix it, or convince someone else to.

One of the intents of the new VMS::Filespec::unix_report and unix_only 
modes is so that less or no modifications are needed for CPAN modules 
and Perl scripts that have not yet been ported to VMS to get them there.

There may be ripple effects for VMS Perl maintainers for some time to 
get the CPAN modules that they care about to take advantage of the new 
modes.  But because these new modes are not the default, a rapid change 
is not forced to them.

The main reason for updating the core modules is because they are core, 
and should be expected to work in any mode that VMS is in.

This also makes it simpler to just change one of the VMS modes and rerun 
the entire set of tests to make sure that it is properly exercised.

> What sort of patching is necessary to take into account the new VMS::Filespec
> work?  Can it instead be done by making File::Spec smarter?

Most of the changes are in File::Spec to make it smarter.  Cwd also 
needs an big assist, particularly to support symbolic links on VMS.

> Is it simply adding more VMS hacks to work around older VMS hacks?

Except for the MakeMaker code, it is usually more a case of 
conditionally disabling the older VMS hacks for when they are not needed.

The MakeMaker code is special because of it's overrides of the 
File::Spec module, and that the resulting DESCRIP.MMS file needs to have 
the file specifications in VMS new or traditional syntax.

In some cases, new tests may need to be added to both test the new 
modes, and to make bugs that I needed to fix more visible, in case a 
later change re-introduces them.

Personal Opinion Only

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About