From: Rafael Garcia-Suarez Date: Mon, 15 Jan 2007 18:25:45 +0000 (+0000) Subject: Enable the ~~ operator by default. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=3e7dd34d07ec3fbcf1e108a3270d6009e068e8eb;p=p5sagit%2Fp5-mst-13.2.git Enable the ~~ operator by default. Remove the ~~ feature. p4raw-id: //depot/perl@29838 --- diff --git a/MANIFEST b/MANIFEST index 7a8aa79..7bdf45e 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3349,7 +3349,6 @@ t/lib/dprof/V.pm Perl code profiler tests 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 diff --git a/lib/feature.pm b/lib/feature.pm index ab79d69..91e4562 100644 --- a/lib/feature.pm +++ b/lib/feature.pm @@ -5,14 +5,13 @@ our $VERSION = '1.10'; # (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 @@ given/when construct. See L for details. -=head2 The '~~' feature - -C tells the compiler to enable the Perl 6 -smart match C<~~> operator. - -See L for details. - =head2 The 'say' feature C tells the compiler to enable the Perl 6 @@ -114,7 +106,7 @@ It's possible to load a whole slew of features in one go, using a I. 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 and C, -which both are equivalent to C. +which both are equivalent to C. In the forthcoming 5.10.X perl releases, C will be equivalent to the latest C. diff --git a/t/lib/feature/smartmatch b/t/lib/feature/smartmatch deleted file mode 100644 index 16ea7f8..0000000 --- a/t/lib/feature/smartmatch +++ /dev/null @@ -1,45 +0,0 @@ -Check the lexical scoping of the switch keywords. -(The actual behaviour is tested in t/op/smartmatch.t) - -__END__ -# No ~~; should be a syntax error. -use warnings; -print +(2 ~~ 2); -EXPECT -syntax error at - line 3, near "2 ~" -Execution of - aborted due to compilation errors. -######## -# With ~~, should work -use warnings; -use feature "~~"; -print +(2 ~~ 2); -EXPECT -1 -######## -# ~~ out of scope; should be a syntax error. -use warnings; -{ use feature '~~'; } -print +(2 ~~ 2); -EXPECT -syntax error at - line 4, near "2 ~" -Execution of - aborted due to compilation errors. -######## -# 'no feature' should work -use warnings; -use feature '~~'; -print +(2 ~~ 2), "\n"; -no feature; -print +(2 ~~ 2), "\n"; -EXPECT -syntax error at - line 6, near "2 ~" -Execution of - aborted due to compilation errors. -######## -# 'no feature "~~"' should work too -use warnings; -use feature '~~'; -print +(2 ~~ 2), "\n"; -no feature "~~"; -print +(2 ~~ 2), "\n"; -EXPECT -syntax error at - line 6, near "2 ~" -Execution of - aborted due to compilation errors. diff --git a/t/op/smartmatch.t b/t/op/smartmatch.t index 6275f40..3c6d1c3 100644 --- a/t/op/smartmatch.t +++ b/t/op/smartmatch.t @@ -48,10 +48,7 @@ sub match_test { 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"); diff --git a/toke.c b/toke.c index c22d508..ae4558b 100644 --- a/toke.c +++ b/toke.c @@ -4134,8 +4134,7 @@ Perl_yylex(pTHX) /* 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);