summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/feature.pm18
-rwxr-xr-xregen/feature.pl18
2 files changed, 14 insertions, 22 deletions
diff --git a/lib/feature.pm b/lib/feature.pm
index adaff96263..3f29d781b8 100644
--- a/lib/feature.pm
+++ b/lib/feature.pm
@@ -305,16 +305,6 @@ sub current_bundle {
return $feature_bundle{$hint_bundles[$bundle_number >> $hint_shift]};
}
-sub normalise_hints {
- # Delete any keys that may be left over from last time.
- delete @^H{ values(%feature) };
- $^H |= $hint_mask;
- for (@{+shift}) {
- $^H{$feature{$_}} = 1;
- $^H |= $hint_uni8bit if $_ eq 'unicode_strings';
- }
-}
-
sub import {
my $class = shift;
@@ -342,7 +332,13 @@ sub __common {
my $import = shift;
if (my $features = current_bundle) {
# Features are enabled implicitly via bundle hints.
- normalise_hints $features;
+ # Delete any keys that may be left over from last time.
+ delete @^H{ values(%feature) };
+ $^H |= $hint_mask;
+ for (@$features) {
+ $^H{$feature{$_}} = 1;
+ $^H |= $hint_uni8bit if $_ eq 'unicode_strings';
+ }
}
while (@_) {
my $name = shift;
diff --git a/regen/feature.pl b/regen/feature.pl
index 79aa471687..7f59847a9d 100755
--- a/regen/feature.pl
+++ b/regen/feature.pl
@@ -589,16 +589,6 @@ sub current_bundle {
return $feature_bundle{$hint_bundles[$bundle_number >> $hint_shift]};
}
-sub normalise_hints {
- # Delete any keys that may be left over from last time.
- delete @^H{ values(%feature) };
- $^H |= $hint_mask;
- for (@{+shift}) {
- $^H{$feature{$_}} = 1;
- $^H |= $hint_uni8bit if $_ eq 'unicode_strings';
- }
-}
-
sub import {
my $class = shift;
@@ -626,7 +616,13 @@ sub __common {
my $import = shift;
if (my $features = current_bundle) {
# Features are enabled implicitly via bundle hints.
- normalise_hints $features;
+ # Delete any keys that may be left over from last time.
+ delete @^H{ values(%feature) };
+ $^H |= $hint_mask;
+ for (@$features) {
+ $^H{$feature{$_}} = 1;
+ $^H |= $hint_uni8bit if $_ eq 'unicode_strings';
+ }
}
while (@_) {
my $name = shift;