Subject: Re: _93 is a keeper
In article <
199703112146.QAA12455@nielsenmedia.com>, Chip Salzenberg <salzench@nielsenmedia.com> writes:
> Based on feedback so far, I think we can release _93 as the first beta.
> ("And there was much rejoicing." "yeah") However, the announcement will
> refer to the Win32 support as "not yet ready"; that will wait for _94.
Here's my $0.02, just in from the field :-):
5.003_93 unchanged:
VMS hmivax.humgen.upenn.edu 6.0 MicroVAX 3400 Series
All tests successful.
u=1649.55 s=0 cu=0 cs=0 files=120 tests=3337
5.003_93 with minor patches:
VMS ssrl.slac.stanford.edu 6.2 AlphaServer 2100 4/275:
All tests successful.
u=352.57 s=0 cu=0 cs=0 files=118 tests=3328
I've appended a few patches below, some necessary for the AXP build,
and others just cleaning up the last remnants of old VMS subprocess
status code and some other nits.
If you're just going to rename _93 on CPAN, don't worry about this stuff.
OTOH, if you're planning a new kit, it'd be nice if you could sneak in the
vms/descrip.mms patch (necessary for build on some systems) and the
utils/perlbug.PL patch (necessary for perlbug to work on all systems).
Thanks again for all the work!
Off to the docs . . .
p5p-msgid: 1997Mar11.220056.1873182@hmivax.humgen.upenn.edu
$command = "$self->{PERL} $xsubpp $file";
print "Running: $command\n" if $Verbose;
my $text = `$command` ;
- warn "Running '$command' exits with status " . $? unless ($? & 1);
+ if ($?) {
+ use vmsish 'status';
+ warn "Running '$command' exits with status $?";
+ }
unlink $file ;
# gets 1.2 -> 1.92 and 2.000a1
while ($test = shift(@tests)) {
$te = $test;
chop($te);
+ if ($^O eq 'VMS') { $te =~ s/^.*\.t\./[.t./; }
print "$te" . '.' x (20 - length($te));
my $fh = new FileHandle;
$fh->open($test) or print "can't open $test. $!\n";
my $first = <$fh>;
my $s = $switches;
- $s .= " -T" if $first =~ /^#!.*\bperl.*-\w*T/;
+ $s .= q[ "-T"] if $first =~ /^#!.*\bperl.*-\w*T/;
$fh->close or print "can't close $test. $!\n";
my $cmd = "$^X $s $test|";
$cmd = "MCR $cmd" if $^O eq 'VMS';
}
$fh->close; # must close to reap child resource values
my $wstatus = $?;
- my $estatus = $^O eq 'VMS' ? $wstatus : $wstatus >> 8;
- if ($^O eq 'VMS' ? !($wstatus & 1) : $wstatus) {
+ my $estatus = $wstatus >> 8;
+ if ($^O eq 'VMS') { use vmsish 'status'; $estatus = $?; }
+ if ($wstatus) {
my ($failed, $canon, $percent) = ('??', '??');
print "dubious\n\tTest returned status $estatus (wstat $wstatus)\n";
+ print "\t\t(VMS status is $estatus)\n" if $^O eq 'VMS';
if (corestatus($wstatus)) { # until we have a wait module
if ($have_devel_corestack) {
Devel::CoreStack::stack($^X);
my $Is_VMS = $^O eq 'VMS';
my $Invoke_Perl = $Is_VMS ? 'MCR Sys$Disk:[]Perl.' : './perl';
if ($Is_VMS) {
+ my($olddcl) = $ENV{'DCL$PATH'} =~ /^(.*)$/;
+ my($oldifs) = $ENV{IFS} =~ /^(.*)$/;
eval <<EndOfCleanup;
END {
\$ENV{PATH} = '';
warn "# Note: logical name 'PATH' may have been deleted\n";
- \$ENV{IFS} = "$ENV{IFS}";
- \$ENV{'DCL\$PATH'} = "$ENV{'DCL$PATH'}";
+ \$ENV{IFS} = "$oldifs";
+ \$ENV{'DCL\$PATH'} = "$olddcl";
}
EndOfCleanup
}
tryagain:
if(!$usefile and !$body) {
my($sts) = system("$ed $filename");
- if( $Is_VMS ? !($sts & 1) : $sts ) {
+ if( $sts ) {
#print "\nUnable to run editor!\n";
paraprint <<EOF;
}
$subject =~ s/"/""/g; $address =~ s/"/""/g; $cc =~ s/"/""/g;
my($sts) = system(qq[mail/Subject="$subject" $filename. "$address","$cc"]);
- if (!($sts & 1)) { die "Can't spawn off mail\n\t(leaving bug report in $filename): $sts\n;" }
+ if ($sts) { die "Can't spawn off mail\n\t(leaving bug report in $filename): $sts\n;" }
} else {
my($sendmail) = "";
.ifdef LINK_ONLY
.else
+# We need an action line here for broken older versions of MMS which
+# otherwise conclude that they should be compiling [.x2p]utils.c :-(
+util$(O) : util.c
+ $(CC) $(CFLAGS) util.c
# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
av$(O) : EXTERN.h
av$(O) : av.c
[.x2p]str$(O) : [.x2p]str.h
[.x2p]str$(O) : handy.h
[.x2p]str$(O) : [.x2p]util.h
-.ifdef __MMK__
[.x2p]util$(O) : [.x2p]util.c
-.endif
[.x2p]util$(O) : [.x2p]EXTERN.h
[.x2p]util$(O) : [.x2p]a2p.h
[.x2p]util$(O) : [.x2p]hash.h