push @{$by_strength{$strength}}, $keyword;
}
+# If this hash changes, make sure the equivalent hash in
+# dist/B-Deparse/Deparse.pm is also updated.
my %feature_kw = (
given => 'switch',
when => 'switch',
say => 'say',
state => 'state',
+
+ evalbytes=>'evalbytes',
+
+ __SUB__ => '__SUB__',
+
+ fc => 'fc',
);
my %pos = map { ($_ => 1) } @{$by_strength{'+'}};
#define PERL_IN_KEYWORDS_C
#include "perl.h"
#include "keywords.h"
+#include "feature.h"
I32
Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords)
{
- dVAR;
-
PERL_ARGS_ASSERT_KEYWORD;
$switch
elsif (my $feature = $feature_kw{$k}) {
$feature =~ s/([\\"])/\\$1/g;
return <<END;
-return (all_keywords || FEATURE_IS_ENABLED("$feature") ? ${sign}KEY_$k : 0);
+return (all_keywords || FEATURE_\U$feature\E_IS_ENABLED ? ${sign}KEY_$k : 0);
END
}
return <<END;
read_only_bottom_close_and_rename($_, [$0]) foreach $c, $h;
+
+# coresub_op in op.c expects __FILE__, __LINE__ and __PACKAGE__ to be the
+# first three.
+
__END__
NULL
-__PACKAGE__
+__DATA__
+__END__
+-__SUB__
+AUTOLOAD
+BEGIN
+UNITCHECK
--CORE
+DESTROY
+END
+INIT
-eof
-eq
+eval
+-evalbytes
-exec
+exists
-exit
-exp
+-fc
-fcntl
-fileno
-flock