s2p fix for VMS
Craig A. Berry [Mon, 15 Apr 2002 21:48:36 +0000 (16:48 -0500)]
   From: "Craig A. Berry" <craigberry@mac.com>
   Message-Id: <a05101500b8e13f80e770@[172.16.52.1]>

p4raw-id: //depot/perl@15941

configure.com
t/x2p/s2p.t
x2p/s2p.PL

index 14a2aaf..7dda531 100644 (file)
@@ -5656,6 +5656,7 @@ $ WC "path_sep='|'"
 $ WC "perl_root='" + perl_root + "'" ! VMS specific $trnlnm()
 $ WC "perladmin='" + perladmin + "'"
 $ WC "perllibs='" + perllibs + "'"
+$ WC "perlpath='" + "''vms_prefix':[000000]Perl''ext'" + "'"
 $ WC "perl_symbol='" + perl_symbol + "'"  ! VMS specific
 $ WC "perl_verb='" + perl_verb + "'"      ! VMS specific
 $ WC "pgflquota='" + pgflquota + "'"
index 15219fc..50d2483 100755 (executable)
@@ -789,6 +789,11 @@ my $plsed  = "s2pt$$.pl";
 # various command lines for 
 my $s2p  = File::Spec->catfile( File::Spec->updir(), 'x2p', 's2p' );
 my $psed = File::Spec->catfile( File::Spec->curdir(), 'psed' );
+if ($^O eq 'VMS') {
+  # default in the .com extenson if it's not already there
+  $s2p = VMS::Filespec::rmsexpand($s2p, '.com');
+  $psed = VMS::Filespec::rmsexpand($psed, '.com');
+}
 my $sedcmd = [ $psed, '-f', $script, $stdin ];
 my $s2pcmd = [ $s2p,  '-f', $script ];
 my $plcmd  = [ $plsed, $stdin ];
@@ -830,6 +835,10 @@ for my $tc ( sort keys %testcase ){
         close( IN ) || goto FAIL_BOTH;
     }
 
+    # on VMS, runperl eats blank lines to work around 
+    # spurious newlines in pipes
+    $testcase{$tc}{expect} =~ s/\n\n/\n/ if $^O eq 'VMS';
+
     # run and compare
     #
     $psedres = runperl( args => $sedcmd );
index 9a084f9..9b62caa 100644 (file)
@@ -43,7 +43,7 @@ $Config{perlpath}
 
 print OUT <<'!NO!SUBS!';
 
-$0 =~ s/^.*?(\w+)$/$1/;
+$0 =~ s/^.*?(\w+)[\.\w]*$/$1/;
 
 # (p)sed - a stream editor
 # History:  Aug 12 2000: Original version.
@@ -1795,7 +1795,7 @@ if( $doGenerate ){
 #!$perlpath -w
 eval 'exec $perlpath -S \$0 \${1+"\$@"}'
   if 0;
-\$0 =~ s/^.*?(\\w+)\$/\$1/;
+\$0 =~ s/^.*?(\\w+)\[\\.\\w+\]*\$/\$1/;
 
 use strict;
 use Symbol;