Re: VMS patch for Test::Harness
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
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
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
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