Skip to content

regen/embed.pl: Hide most KEY_foo symbols from XS#24602

Open
khwilliamson wants to merge 1 commit into
Perl:bleadfrom
khwilliamson:keyword_visibility
Open

regen/embed.pl: Hide most KEY_foo symbols from XS#24602
khwilliamson wants to merge 1 commit into
Perl:bleadfrom
khwilliamson:keyword_visibility

Conversation

@khwilliamson

Copy link
Copy Markdown
Contributor

There are a lot of symbols in keywords.h that are visible to all XS code. Most code has no business knowing about these.

I've tried removing them all before, but that causes cpan failures.

Now, I have grepped metacpan for these, and only a few are actually used. They fall into two classes
1) 'my' and 'our'
2) and a couple like KEY_BEGIN

So I'm trying again, early in the development cycle, leaving just 'my', 'our', and all the ones that are like KEY_BEGIN

  • This set of changes does not require a perldelta entry.

There are a lot of symbols in keywords.h that are visible to all XS
code.  Most code has no business knowing about these.

I've tried removing them all before, but that causes cpan failures.

Now, I have grepped metacpan for these, and only a few are actually
used.  They fall into two classes
    1) 'my' and 'our'
    2) and a couple like KEY_BEGIN

So I'm trying again, early in the development cycle, leaving just 'my',
'our', and all the ones that are like KEY_BEGIN
@Leont

Leont commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

This makes me wonder what the criterion should be for making such a key public or not, this feels a bit random.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants