This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make printf, sprintf respect 'use locale' for radix
[perl5.git] / lib / feature.pm
index f585f16..78fae2e 100644 (file)
@@ -5,7 +5,7 @@
 
 package feature;
 
-our $VERSION = '1.30';
+our $VERSION = '1.33';
 
 our %feature = (
     fc              => 'feature_fc',
@@ -34,10 +34,9 @@ $feature_bundle{"5.14"} = $feature_bundle{"5.11"};
 $feature_bundle{"5.16"} = $feature_bundle{"5.15"};
 $feature_bundle{"5.17"} = $feature_bundle{"5.15"};
 $feature_bundle{"5.18"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.19"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.20"} = $feature_bundle{"5.15"};
 $feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
-my %experimental = (
-    lexical_subs => 1,
-);
 
 our $hint_shift   = 26;
 our $hint_mask    = 0x1c000000;
@@ -233,11 +232,11 @@ 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, F<feature.pm> will
-warn when you enable the feature, unless you have explicitly disabled the
+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";
+    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.
@@ -270,6 +269,9 @@ The following feature bundles are available:
   :5.18     say state switch unicode_strings
             unicode_eval evalbytes current_sub fc
 
+  :5.20     say state switch unicode_strings
+            unicode_eval evalbytes current_sub fc
+
 The C<:default> bundle represents the feature set that is enabled before
 any C<use feature> or C<no feature> declaration.
 
@@ -380,11 +382,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';