Re: VMS patch for Test::Harness

2005-08-11 Thread John E. Malmberg

Michael G Schwern wrote:

On Thu, Aug 11, 2005 at 12:50:39PM -0400, John E. Malmberg wrote:

The explicit call for the MCR shell is not needed in this case on 
OpenVMS.  The VMS.C code will add it in if needed when it actually runs 
the child, and the VMS.C code knows to automatically vmsify() the command.



Is this a recent feature?  ie. Will this break on somewhat older Perls or
older VMSes?


It does not appear to be a recent feature, I would have figure out how 
to check when that feature was put in VMS.C.


Based on way the rest of the code is in that section of VMS.C, it looks 
like there is a good chance that it has been that way since the module 
was first written.


I also suspect that there are plenty of existing Perl scripts that are 
already depending on VMS.C knowing how to to the right thing when given 
either a VMS or UNIX filename for a command with out the MCR shell being 
specified.


-John
[EMAIL PROTECTED]
Personal Opinion Only




Re: VMS patch for Test::Harness

2005-08-11 Thread Michael G Schwern
On Thu, Aug 11, 2005 at 12:50:39PM -0400, John E. Malmberg wrote:
> The explicit call for the MCR shell is not needed in this case on 
> OpenVMS.  The VMS.C code will add it in if needed when it actually runs 
> the child, and the VMS.C code knows to automatically vmsify() the command.

Is this a recent feature?  ie. Will this break on somewhat older Perls or
older VMSes?


-- 
Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern
'All anyone gets in a mirror is themselves,' she said. 'But what you
gets in a good gumbo is everything.'
-- "Witches Abroad" by Terry Prachett


Re: VMS patch for Test::Harness

2005-08-11 Thread John E. Malmberg

Andy Lester wrote:

I missed this one going by.

 //depot/perl/lib/Test/Harness/Straps.pm#26 (text) 

@@ -356,7 +356,6 @@
 my $self = shift;
 
 return $ENV{HARNESS_PERL}   if defined $ENV{HARNESS_PERL};

-return "MCR $^X"if $self->{_is_vms};


What's the purpose of this change?  I need to make it in Test::Harness
directly, but would like to know why.


The explicit call for the MCR shell is not needed in this case on 
OpenVMS.  The VMS.C code will add it in if needed when it actually runs 
the child, and the VMS.C code knows to automatically vmsify() the command.


When the VMS C runtime has been told to return filenames in UNIX format, 
the previous Straps.pm no longer works because the depreciated MCR shell 
can only handle VMS name formats.


So the simple fix is just to remove the VMS specific code.

Otherwise I have to vmsify($^X) for use with the MCR shell.

There are still a few cases where the explicit call to the MCR shell is 
explicitly needed, and can not be removed, such as if a VMS specific 
script file is being generated or the Perl system() call is used.


I am in the progress of updating Perl to understand the features 
available on OpenVMS 8.2+ that were previously unimplemented.


-John
[EMAIL PROTECTED]
Personal Opinion Only


VMS patch for Test::Harness

2005-08-11 Thread Andy Lester
I missed this one going by.

 //depot/perl/lib/Test/Harness/Straps.pm#26 (text) 

@@ -356,7 +356,6 @@
 my $self = shift;
 
 return $ENV{HARNESS_PERL}   if defined $ENV{HARNESS_PERL};
-return "MCR $^X"if $self->{_is_vms};


What's the purpose of this change?  I need to make it in Test::Harness
directly, but would like to know why.

-- 
Andy Lester => [EMAIL PROTECTED] => www.petdance.com => AIM:petdance