summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDagfinn Ilmari Mannsåker <ilmari@ilmari.org>2022-07-05 11:14:17 +0100
committerDagfinn Ilmari Mannsåker <ilmari@ilmari.org>2022-07-06 12:29:06 +0100
commit31c1155d19a27dd4a29c30ff34ab892b82131746 (patch)
treed724ba7c830803fd2a43423aadaf88d154de3182
parenteae348e41d0c90e977085bd4917e69d9fdf21552 (diff)
downloadperl-31c1155d19a27dd4a29c30ff34ab892b82131746.tar.gz
Remove bareword_filehandles from the :5.38 feature bundle
Commit c5327cb77526e4e4c7bb83e24be20ac48e85b1fa fixed the bug that caused it to be put back in the :5.36 feature bundle, so let's pull it out again.
-rw-r--r--feature.h28
-rw-r--r--lib/feature.pm14
-rw-r--r--pod/perldelta.pod7
-rwxr-xr-xregen/feature.pl7
4 files changed, 36 insertions, 20 deletions
diff --git a/feature.h b/feature.h
index 53be5b3a72..f10e25cb5a 100644
--- a/feature.h
+++ b/feature.h
@@ -40,6 +40,7 @@
#define FEATURE_BUNDLE_523 4
#define FEATURE_BUNDLE_527 5
#define FEATURE_BUNDLE_535 6
+#define FEATURE_BUNDLE_537 7
#define FEATURE_BUNDLE_CUSTOM (HINT_FEATURE_MASK >> HINT_FEATURE_SHIFT)
#define CURRENT_HINTS \
@@ -57,14 +58,15 @@
#define FEATURE_FC_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_FC_BIT)) \
)
#define FEATURE_ISA_IS_ENABLED \
( \
- CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_535 \
+ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_535 && \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_ISA_BIT)) \
)
@@ -72,7 +74,7 @@
#define FEATURE_SAY_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_SAY_BIT)) \
)
@@ -92,7 +94,7 @@
#define FEATURE_STATE_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_STATE_BIT)) \
)
@@ -108,7 +110,7 @@
#define FEATURE_BITWISE_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_527 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_BITWISE_BIT)) \
)
@@ -123,14 +125,15 @@
#define FEATURE_EVALBYTES_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_EVALBYTES_BIT)) \
)
#define FEATURE_SIGNATURES_IS_ENABLED \
( \
- CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_535 \
+ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_535 && \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_SIGNATURES_BIT)) \
)
@@ -138,7 +141,7 @@
#define FEATURE___SUB___IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE___SUB___BIT)) \
)
@@ -152,7 +155,7 @@
#define FEATURE_POSTDEREF_QQ_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_523 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_POSTDEREF_QQ_BIT)) \
)
@@ -160,7 +163,7 @@
#define FEATURE_UNIEVAL_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_UNIEVAL_BIT)) \
)
@@ -174,7 +177,7 @@
#define FEATURE_UNICODE_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_511 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_537) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_UNICODE_BIT)) \
)
@@ -222,6 +225,9 @@ S_enable_feature_bundle(pTHX_ SV *ver)
SV *comp_ver = sv_newmortal();
PL_hints = (PL_hints &~ HINT_FEATURE_MASK)
| (
+ (sv_setnv(comp_ver, 5.037),
+ vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
+ ? FEATURE_BUNDLE_537 :
(sv_setnv(comp_ver, 5.035),
vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
? FEATURE_BUNDLE_535 :
diff --git a/lib/feature.pm b/lib/feature.pm
index a024d92d3e..292996315a 100644
--- a/lib/feature.pm
+++ b/lib/feature.pm
@@ -5,7 +5,7 @@
package feature;
-our $VERSION = '1.74';
+our $VERSION = '1.75';
our %feature = (
fc => 'feature_fc',
@@ -37,6 +37,7 @@ our %feature_bundle = (
"5.23" => [qw(bareword_filehandles current_sub evalbytes fc indirect multidimensional postderef_qq say state switch unicode_eval unicode_strings)],
"5.27" => [qw(bareword_filehandles bitwise current_sub evalbytes fc indirect multidimensional postderef_qq say state switch unicode_eval unicode_strings)],
"5.35" => [qw(bareword_filehandles bitwise current_sub evalbytes fc isa postderef_qq say signatures state unicode_eval unicode_strings)],
+ "5.37" => [qw(bitwise current_sub evalbytes fc isa postderef_qq say signatures state unicode_eval unicode_strings)],
"all" => [qw(bareword_filehandles bitwise current_sub declared_refs defer evalbytes extra_paired_delimiters fc indirect isa multidimensional postderef_qq refaliasing say signatures state switch try unicode_eval unicode_strings)],
"default" => [qw(bareword_filehandles indirect multidimensional)],
);
@@ -62,8 +63,7 @@ $feature_bundle{"5.32"} = $feature_bundle{"5.27"};
$feature_bundle{"5.33"} = $feature_bundle{"5.27"};
$feature_bundle{"5.34"} = $feature_bundle{"5.27"};
$feature_bundle{"5.36"} = $feature_bundle{"5.35"};
-$feature_bundle{"5.37"} = $feature_bundle{"5.35"};
-$feature_bundle{"5.38"} = $feature_bundle{"5.35"};
+$feature_bundle{"5.38"} = $feature_bundle{"5.37"};
$feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
my %noops = (
postderef => 1,
@@ -75,7 +75,7 @@ my %removed = (
our $hint_shift = 26;
our $hint_mask = 0x3c000000;
-our @hint_bundles = qw( default 5.10 5.11 5.15 5.23 5.27 5.35 );
+our @hint_bundles = qw( default 5.10 5.11 5.15 5.23 5.27 5.35 5.37 );
# This gets set (for now) in $^H as well as in %^H,
# for runtime speed of the uc/lc/ucfirst/lcfirst functions.
@@ -941,9 +941,9 @@ The following feature bundles are available:
evalbytes fc isa postderef_qq say signatures
state unicode_eval unicode_strings
- :5.38 bareword_filehandles bitwise current_sub
- evalbytes fc isa postderef_qq say signatures
- state unicode_eval unicode_strings
+ :5.38 bitwise current_sub evalbytes fc isa
+ postderef_qq say signatures state
+ unicode_eval unicode_strings
The C<:default> bundle represents the feature set that is enabled before
any C<use feature> or C<no feature> declaration.
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index b53f1ae1ef..9222c4426b 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -129,6 +129,13 @@ L<builtin> has been upgraded from version 0.007 to 0.008.
Added the is_tainted() builtin function. [github #19854]
+=item *
+
+L<feature> has been upgraded from version 1.74 to 1.75.
+
+The C<bareword_filehandles> feature has been removed from the C<:5.36>
+feature bundle. [github #19924]
+
=back
=head2 Removed Modules and Pragmata
diff --git a/regen/feature.pl b/regen/feature.pl
index 7592c46e1e..ec1afc3e49 100755
--- a/regen/feature.pl
+++ b/regen/feature.pl
@@ -62,6 +62,8 @@ use constant V5_35 => sort grep {; $_ ne 'switch'
&& $_ ne 'indirect'
&& $_ ne 'multidimensional' } +V5_27, qw{isa signatures};
+use constant V5_37 => sort grep {; $_ ne 'bareword_filehandles' } +V5_35;
+
my %feature_bundle = (
all => [ sort keys %feature ],
default => [ qw{indirect multidimensional bareword_filehandles} ],
@@ -86,7 +88,8 @@ my %feature_bundle = (
"5.33" => [ +V5_27 ],
# using 5.35 features bundle
"5.35" => [ +V5_35 ],
- "5.37" => [ +V5_35 ],
+ # using 5.37 features bundle
+ "5.37" => [ +V5_37 ],
);
my @noops = qw( postderef lexical_subs );
@@ -487,7 +490,7 @@ read_only_bottom_close_and_rename($h);
__END__
package feature;
-our $VERSION = '1.74';
+our $VERSION = '1.75';
FEATURES