Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: cdfdf25fdda6653cba1fd9217158a3ef44822aae
      
https://github.com/Perl/perl5/commit/cdfdf25fdda6653cba1fd9217158a3ef44822aae
  Author: Karl Williamson <[email protected]>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M regen/embed.pl

  Log Message:
  -----------
  embed.pl: Fix 'keys' list

I wrote
    keys %a, %b, ...
whereas I should have written
    keys %a, keys %b, ...

This didn't have any negative consequences so far, but would in future
commits.


  Commit: d8a7f5e5833b3029e85037bcbef72000103e7749
      
https://github.com/Perl/perl5/commit/d8a7f5e5833b3029e85037bcbef72000103e7749
  Author: Karl Williamson <[email protected]>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M regen/embed.pl

  Log Message:
  -----------
  embed.pl: Make sure each overridden symbol occurs once

There is no point in overriding a symbol more than once, and doing so
can create wrong results.


  Commit: 8352bd0c7520cef7d05a0ae31dba20c38ff35a87
      
https://github.com/Perl/perl5/commit/8352bd0c7520cef7d05a0ae31dba20c38ff35a87
  Author: Karl Williamson <[email protected]>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M regen/embed.pl

  Log Message:
  -----------
  embed.pl: Add list of symbols resolved to remain undocumented

There is a large list of symbols in embed.pl that we expose to all XS
code, but which we don't really know if they should be exposed or not.
The list is there to avoid breaking any code that might be relying on
them.  All these symbols are undocumented; if they were documented, we'd
know what to do with them.

The goal is to make this list empty, that is to resolve every symbol on
it.

The preferred resolution is to document the symbols, or to use C
preprocessor conditionals to restrict their visibility.  But there are
plenty of symbols on the list that need to be visible, but it actually
doesn't make much sense to bother to document them.  Typically these are
helpers for macros or functions, and which don't stand on their own, and
their purpose and use are obvious given you know the main macro or
function.

This commit adds an empty list of such symbols, with the code to take
them into account.


  Commit: 3f18151623c65345fb59e8024f98c3e1caef1a44
      
https://github.com/Perl/perl5/commit/3f18151623c65345fb59e8024f98c3e1caef1a44
  Author: Karl Williamson <[email protected]>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M embed.h
    M regen/embed.pl

  Log Message:
  -----------
  New macros in 5.43 don't have to be backward compatible

The default for newly created macros is now to be hidden from code
outside the core.  In order to prevent any breakage of existing XS
modules, a list was created to override this for every existing symbol
that is visible.  That list was based on the symbols existing at the
time the default was changed.  But any symbol created earlier in this
development cycle was never in a stable release, so is fair game to be
subject to the new default.  This commit changes those.

I went back to 5.43.0 and generated a list of existing symbols.  Then I
subtracted that from the list as of when the default changed.  That gave
the list of new symbols.  Then I inspected the 60-ish new symbols to see
what visibility each requires.  In doing so, I noticed that a bunch of
them are required to be visible, but really don't need to be documented.
I moved those from the override list to the list created in the previous
commit of symbols that we've decided not to document any time soon.
These are all simple behind-the-scenes helpers for other macros and
functions.

Some of the new symbols need be visible only to extensions; I moved
those to the appropriate lists.


Compare: https://github.com/Perl/perl5/compare/41a194c72aba...3f18151623c6

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to