Change 11269 by jhi@alpha on 2001/07/11 00:32:16
Subject: [PATCH] ExtUtils::Constant (was Re: funny numconvert test in
perl@11006 (was Re: report on BS2000 wit h perl@11006))
From: Nicholas Clark <[EMAIL PROTECTED]>
Date: Tue, 10 Jul 2001 23:17:43 +0100
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/lib/ExtUtils.t#7 edit
... //depot/perl/lib/ExtUtils/Constant.pm#13 edit
Differences ...
==== //depot/perl/lib/ExtUtils.t#7 (text) ====
Index: perl/lib/ExtUtils.t
--- perl/lib/ExtUtils.t.~1~ Tue Jul 10 18:45:05 2001
+++ perl/lib/ExtUtils.t Tue Jul 10 18:45:05 2001
@@ -7,7 +7,7 @@
@INC = '../lib';
}
-use warnings;
+# use warnings;
use strict;
use ExtUtils::MakeMaker;
use ExtUtils::Constant qw (constant_types C_constant XS_constant autoload);
@@ -15,7 +15,8 @@
use File::Spec::Functions;
use File::Spec;
# Because were are going to be changing directory before running Makefile.PL
-my $perl = File::Spec->rel2abs( $^X );
+my $perl;
+$perl = rel2abs( $^X ) unless $] < 5.006; # Hack. Until 5.00503 has rel2abs
# ExtUtils::Constant::C_constant uses $^X inside a comment, and we want to
# compare output to ensure that it is the same. We were probably run as ./perl
# whereas we will run the child with the full path in $perl. So make $^X for
@@ -45,7 +46,7 @@
# Test the code that generates 1 and 2 letter name comparisons.
my %compass = (
-N => 0, NE => 45, E => 90, SE => 135, S => 180, SW => 225, W => 270, NW => 315
+N => 0, 'NE' => 45, E => 90, SE => 135, S => 180, SW => 225, W => 270, NW => 315
);
my $parent_rfc1149 =
@@ -133,12 +134,14 @@
print FH <<'EOT';
use strict;
-use warnings;
+EOT
+printf FH "use warnings;\n" unless $] < 5.006;
+print FH <<'EOT';
use Carp;
require Exporter;
require DynaLoader;
-use vars qw ($VERSION @ISA @EXPORT_OK);
+use vars qw ($VERSION @ISA @EXPORT_OK $AUTOLOAD);
$VERSION = '0.01';
@ISA = qw(Exporter DynaLoader);
@@ -292,7 +295,7 @@
EOT
while (my ($point, $bearing) = each %compass) {
- print FH "$point => $bearing, "
+ print FH "'$point' => $bearing, "
}
print FH <<'EOT';
==== //depot/perl/lib/ExtUtils/Constant.pm#13 (text) ====
Index: perl/lib/ExtUtils/Constant.pm
--- perl/lib/ExtUtils/Constant.pm.~1~ Tue Jul 10 18:45:05 2001
+++ perl/lib/ExtUtils/Constant.pm Tue Jul 10 18:45:05 2001
@@ -1,6 +1,6 @@
package ExtUtils::Constant;
use vars qw (@ISA $VERSION %XS_Constant %XS_TypeSet @EXPORT_OK %EXPORT_TAGS);
-$VERSION = '0.08';
+$VERSION = '0.09';
=head1 NAME
@@ -92,8 +92,9 @@
=cut
-require 5.006; # I think, for [:cntrl:] in REGEXP
-use warnings;
+if ($] >= 5.006) {
+ eval "use warnings; 1" or die $@;
+}
use strict;
use Carp;
@@ -154,8 +155,15 @@
s/\t/\\t/g;
s/\f/\\f/g;
s/\a/\\a/g;
- s/([[:cntrl:]])/sprintf "\\%03o", ord $1/ge;
- s/\177/\\177/g; # DEL doesn't seem to be a [:cntrl:]
+ unless ($] < 5.006) {
+ # This will elict a warning on 5.005_03 about [: :] being reserved unless
+ # I cheat
+ my $cheat = '([[:^print:]])';
+ s/$cheat/sprintf "\\%03o", ord $1/ge;
+ } else {
+ require POSIX;
+ s/([^A-Za-z0-9_])/POSIX::isprint($1) ? $1 : sprintf "\\%03o", ord $1/ge;
+ }
$_;
}
@@ -179,6 +187,12 @@
#ifndef NVTYPE
typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
#endif
+#ifndef aTHX_
+#define aTHX_ /* 5.6 or later define this for threading support. */
+#endif
+#ifndef pTHX_
+#define pTHX_ /* 5.6 or later define this for threading support. */
+#endif
EOT
return join '', @lines;
End of Patch.