Change 29838 by [EMAIL PROTECTED] on 2007/01/15 18:25:45
Enable the ~~ operator by default.
Remove the ~~ feature.
Affected files ...
... //depot/perl/MANIFEST#1509 edit
... //depot/perl/lib/feature.pm#16 edit
... //depot/perl/t/lib/feature/smartmatch#2 delete
... //depot/perl/t/op/smartmatch.t#2 edit
... //depot/perl/toke.c#737 edit
Differences ...
==== //depot/perl/MANIFEST#1509 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#1508~29831~ 2007-01-15 08:26:17.000000000 -0800
+++ perl/MANIFEST 2007-01-15 10:25:45.000000000 -0800
@@ -3349,7 +3349,6 @@
t/lib/feature/err Tests for enabling/disabling err feature
t/lib/feature/nonesuch Tests for enabling/disabling nonexistent feature
t/lib/feature/say Tests for enabling/disabling say feature
-t/lib/feature/smartmatch Tests for enabling/disabling smartmatch feature
t/lib/feature/switch Tests for enabling/disabling switch feature
t/lib/Filter/Simple/ExportTest.pm Helper file for Filter::Simple tests
t/lib/Filter/Simple/FilterOnlyTest.pm Helper file for Filter::Simple tests
==== //depot/perl/lib/feature.pm#16 (text) ====
Index: perl/lib/feature.pm
--- perl/lib/feature.pm#15~29822~ 2007-01-15 05:30:51.000000000 -0800
+++ perl/lib/feature.pm 2007-01-15 10:25:45.000000000 -0800
@@ -5,14 +5,13 @@
# (feature name) => (internal name, used in %^H)
my %feature = (
switch => 'feature_switch',
- "~~" => "feature_~~",
say => "feature_say",
err => "feature_err",
state => "feature_state",
);
my %feature_bundle = (
- "5.10.0" => [qw(switch ~~ say err state)],
+ "5.10.0" => [qw(switch say err state)],
);
# latest version here
# keep it harcoded until we actually bump the version number to 5.10
@@ -79,13 +78,6 @@
See L<perlsyn/"Switch statements"> for details.
-=head2 The '~~' feature
-
-C<use feature '~~'> tells the compiler to enable the Perl 6
-smart match C<~~> operator.
-
-See L<perlsyn/"Smart matching in detail"> for details.
-
=head2 The 'say' feature
C<use feature 'say'> tells the compiler to enable the Perl 6
@@ -114,7 +106,7 @@
a I<feature bundle>. The name of a feature bundle is prefixed with
a colon, to distinguish it from an actual feature. At present, the
only feature bundles are C<use feature ":5.10"> and C<use feature ":5.10.0">,
-which both are equivalent to C<use feature qw(switch ~~ say err state)>.
+which both are equivalent to C<use feature qw(switch say err state)>.
In the forthcoming 5.10.X perl releases, C<use feature ":5.10"> will be
equivalent to the latest C<use feature ":5.10.X">.
==== //depot/perl/t/op/smartmatch.t#2 (text) ====
Index: perl/t/op/smartmatch.t
--- perl/t/op/smartmatch.t#1~26400~ 2005-12-19 08:26:15.000000000 -0800
+++ perl/t/op/smartmatch.t 2007-01-15 10:25:45.000000000 -0800
@@ -48,10 +48,7 @@
my $tstr = "$left ~~ $right";
my $res;
- {
- use feature "~~";
- $res = eval $tstr // ""; #/ <- fix syntax colouring
- }
+ $res = eval $tstr // ""; #/ <- fix syntax colouring
die $@ if $@ ne "";
ok( ($yn =~ /!/ xor $res), "$tstr: $res");
==== //depot/perl/toke.c#737 (text) ====
Index: perl/toke.c
--- perl/toke.c#736~29834~ 2007-01-15 08:37:21.000000000 -0800
+++ perl/toke.c 2007-01-15 10:25:45.000000000 -0800
@@ -4134,8 +4134,7 @@
/* FALL THROUGH */
case '~':
if (s[1] == '~'
- && (PL_expect == XOPERATOR || PL_expect == XTERMORDORDOR)
- && FEATURE_IS_ENABLED("~~"))
+ && (PL_expect == XOPERATOR || PL_expect == XTERMORDORDOR))
{
s += 2;
Eop(OP_SMARTMATCH);
End of Patch.