Blame perl-5.8.8-up27284.patch
|
jvdias |
78a6163 |
Change 27284 by nicholas@nicholas-saigo on 2006/02/23 14:49:22
|
|
jvdias |
78a6163 |
|
|
jvdias |
78a6163 |
Integrate:
|
|
jvdias |
78a6163 |
[ 27002]
|
|
jvdias |
78a6163 |
Code assumes that *FOO{SCALAR} will always return a scalar reference,
|
|
jvdias |
78a6163 |
so make it so, creating $FOO if necessary.
|
|
jvdias |
78a6163 |
(Effectively this is a policy decision that PERL_DONT_CREATE_GVSV is
|
|
jvdias |
78a6163 |
visible to XS code, but isn't visible to Perl code)
|
|
jvdias |
78a6163 |
|
|
jvdias |
78a6163 |
Affected files ...
|
|
jvdias |
78a6163 |
|
|
jvdias |
78a6163 |
... //depot/maint-5.8/perl/pp.c#86 integrate
|
|
jvdias |
78a6163 |
... //depot/maint-5.8/perl/t/op/gv.t#4 integrate
|
|
jvdias |
78a6163 |
|
|
jvdias |
78a6163 |
Differences ...
|
|
jvdias |
78a6163 |
|
|
jvdias |
78a6163 |
==== //depot/maint-5.8/perl/pp.c#86 (text) ====
|
|
jvdias |
78a6163 |
Index: perl/pp.c
|
|
jvdias |
78a6163 |
--- perl/pp.c#85~26738~ 2006-01-08 13:30:11.000000000 -0800
|
|
jvdias |
78a6163 |
+++ perl/pp.c 2006-02-23 06:49:22.000000000 -0800
|
|
jvdias |
78a6163 |
@@ -604,7 +604,7 @@
|
|
jvdias |
78a6163 |
break;
|
|
jvdias |
78a6163 |
case 'S':
|
|
jvdias |
78a6163 |
if (strEQ(second_letter, "CALAR"))
|
|
jvdias |
78a6163 |
- tmpRef = GvSV(gv);
|
|
jvdias |
78a6163 |
+ tmpRef = GvSVn(gv);
|
|
jvdias |
78a6163 |
break;
|
|
jvdias |
78a6163 |
}
|
|
jvdias |
78a6163 |
}
|
|
jvdias |
78a6163 |
|
|
jvdias |
78a6163 |
==== //depot/maint-5.8/perl/t/op/gv.t#4 (xtext) ====
|
|
jvdias |
78a6163 |
Index: perl/t/op/gv.t
|
|
jvdias |
78a6163 |
--- perl/t/op/gv.t#3~25505~ 2005-09-19 15:20:52.000000000 -0700
|
|
jvdias |
78a6163 |
+++ perl/t/op/gv.t 2006-02-23 06:49:22.000000000 -0800
|
|
jvdias |
78a6163 |
@@ -12,7 +12,7 @@
|
|
jvdias |
78a6163 |
use warnings;
|
|
jvdias |
78a6163 |
|
|
jvdias |
78a6163 |
require './test.pl';
|
|
jvdias |
78a6163 |
-plan( tests => 61 );
|
|
jvdias |
78a6163 |
+plan( tests => 63 );
|
|
jvdias |
78a6163 |
|
|
jvdias |
78a6163 |
# type coersion on assignment
|
|
jvdias |
78a6163 |
$foo = 'foo';
|
|
jvdias |
78a6163 |
@@ -218,6 +218,19 @@
|
|
jvdias |
78a6163 |
is ($x, "Rules\n");
|
|
jvdias |
78a6163 |
}
|
|
jvdias |
78a6163 |
|
|
jvdias |
78a6163 |
+
|
|
jvdias |
78a6163 |
+{
|
|
jvdias |
78a6163 |
+ no warnings qw(once uninitialized);
|
|
jvdias |
78a6163 |
+ my $g = \*clatter;
|
|
jvdias |
78a6163 |
+ my $r = eval {no strict; ${*{$g}{SCALAR}}};
|
|
jvdias |
78a6163 |
+ is ($@, '', "PERL_DONT_CREATE_GVSV shouldn't affect thingy syntax");
|
|
jvdias |
78a6163 |
+
|
|
jvdias |
78a6163 |
+ $g = \*vowm;
|
|
jvdias |
78a6163 |
+ $r = eval {use strict; ${*{$g}{SCALAR}}};
|
|
jvdias |
78a6163 |
+ is ($@, '',
|
|
jvdias |
78a6163 |
+ "PERL_DONT_CREATE_GVSV shouldn't affect thingy syntax under strict");
|
|
jvdias |
78a6163 |
+}
|
|
jvdias |
78a6163 |
+
|
|
jvdias |
78a6163 |
__END__
|
|
jvdias |
78a6163 |
Perl
|
|
jvdias |
78a6163 |
Rules
|
|
jvdias |
78a6163 |
End of Patch.
|