This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Revert "regcomp.c: Add a constant 0 element before inversion lists"
[perl5.git] / regen / feature.pl
index cc7034e..377cd71 100755 (executable)
@@ -50,8 +50,11 @@ my %feature_bundle = (
                    evalbytes current_sub fc)],
     "5.17"   =>        [qw(say state switch unicode_strings unicode_eval
                    evalbytes current_sub fc)],
+    "5.19"   =>        [qw(say state switch unicode_strings unicode_eval
+                   evalbytes current_sub fc)],
 );
 
+# not actually used currently
 my @experimental = qw( lexical_subs );
 
 
@@ -175,9 +178,9 @@ for (sort keys %Aliases) {
        qq'\$feature_bundle{"$_"} = \$feature_bundle{"$Aliases{$_}"};\n';
 };
 
-print $pm "my \%experimental = (\n";
-print $pm "    $_ => 1,\n", for @experimental;
-print $pm ");\n";
+#print $pm "my \%experimental = (\n";
+#print $pm "    $_ => 1,\n", for @experimental;
+#print $pm ");\n";
 
 print $pm <<EOPM;
 
@@ -355,7 +358,7 @@ read_only_bottom_close_and_rename($h);
 __END__
 package feature;
 
-our $VERSION = '1.30';
+our $VERSION = '1.33';
 
 FEATURES
 
@@ -541,6 +544,20 @@ See L<perlfunc/fc> for details.
 
 This feature is available from Perl 5.16 onwards.
 
+=head2 The 'lexical_subs' feature
+
+B<WARNING>: This feature is still experimental and the implementation may
+change in future versions of Perl.  For this reason, Perl will
+warn when you use the feature, unless you have explicitly disabled the
+warning:
+
+    no warnings "experimental::lexical_subs";
+
+This enables declaration of subroutines via C<my sub foo>, C<state sub foo>
+and C<our sub foo> syntax.  See L<perlsub/Lexical Subroutines> for details.
+
+This feature is available from Perl 5.18 onwards.
+
 =head1 FEATURE BUNDLES
 
 It's possible to load multiple features together, using
@@ -664,11 +681,6 @@ sub __common {
        if ($import) {
            $^H{$feature{$name}} = 1;
            $^H |= $hint_uni8bit if $name eq 'unicode_strings';
-           if ($experimental{$name}) {
-               require warnings;
-               warnings::warnif("experimental:$name",
-                                "The $name feature is experimental");
-           }
        } else {
             delete $^H{$feature{$name}};
             $^H &= ~ $hint_uni8bit if $name eq 'unicode_strings';