Branch: refs/heads/davem/xs_void_st0
  Home:   https://github.com/Perl/perl5
  Commit: 21b46a7e11c4619da7bed49ea611c4f20a43448c
      
https://github.com/Perl/perl5/commit/21b46a7e11c4619da7bed49ea611c4f20a43448c
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M ext/B/B.pm

  Log Message:
  -----------
  bump B.pm version to 1.92


  Commit: c8282019f273d4a086a051a1001a3eee925a5f89
      
https://github.com/Perl/perl5/commit/c8282019f273d4a086a051a1001a3eee925a5f89
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M ext/B/B.xs

  Log Message:
  -----------
  B.xs: avoid setting ST(0) in void XSUBs

Update some XSUBs in this distro's XS to avoid an old anti-pattern.

In detail: a historical quirk of XS, which was fixed in 1996, allowed code
to be written along the lines of:

    void
    foo(...)
      CODE:
        ...
        ST(0) = ...;

This is wrong, because the code is declared as returning nothing, but
still puts something on the stack.

ExtUtils::ParseXS has some hacky logic to work around this coding style.
Normally it would emit 'XSRETURN_EMPTY' for a void XSUB, but if it sees
text like 'ST(n) = ' in the body of a void XSUB, it emits 'XSRETURN(1)'
instead.

The docs were fixed in 1996, but this anti-pattern continues to reproduce.
This commit is part of an branch which eliminates this code style within
the parts of bleadperl under p5p's control.


  Commit: b8f5896090d8ebb9c97c54864f08eff981b282c5
      
https://github.com/Perl/perl5/commit/b8f5896090d8ebb9c97c54864f08eff981b282c5
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M dist/IO/IO.pm
    M dist/IO/lib/IO/Dir.pm
    M dist/IO/lib/IO/File.pm
    M dist/IO/lib/IO/Handle.pm
    M dist/IO/lib/IO/Pipe.pm
    M dist/IO/lib/IO/Seekable.pm
    M dist/IO/lib/IO/Select.pm
    M dist/IO/lib/IO/Socket.pm
    M dist/IO/lib/IO/Socket/INET.pm
    M dist/IO/lib/IO/Socket/UNIX.pm

  Log Message:
  -----------
  bump IO::* version to 1.56


  Commit: 03d9903dcd70dc10a21c0fa56a17780d533e0224
      
https://github.com/Perl/perl5/commit/03d9903dcd70dc10a21c0fa56a17780d533e0224
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M dist/IO/IO.xs

  Log Message:
  -----------
  IO.xs: avoid setting ST(0) in void XSUBs

Update some XSUBs in this distro's XS to avoid an old anti-pattern.

In detail: a historical quirk of XS, which was fixed in 1996, allowed code
to be written along the lines of:

    void
    foo(...)
      CODE:
        ...
        ST(0) = ...;

This is wrong, because the code is declared as returning nothing, but
still puts something on the stack.

ExtUtils::ParseXS has some hacky logic to work around this coding style.
Normally it would emit 'XSRETURN_EMPTY' for a void XSUB, but if it sees
text like 'ST(n) = ' in the body of a void XSUB, it emits 'XSRETURN(1)'
instead.

The docs were fixed in 1996, but this anti-pattern continues to reproduce.
This commit is part of an branch which eliminates this code style within
the parts of bleadperl under p5p's control.


  Commit: ca20dc3f3766c93438c900a4dd95f407e672fd20
      
https://github.com/Perl/perl5/commit/ca20dc3f3766c93438c900a4dd95f407e672fd20
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M ext/Opcode/Opcode.pm

  Log Message:
  -----------
  bump Opcode.pm version to 1.71


  Commit: d987c7395f4c19fa72a72679d2aa474620787b2f
      
https://github.com/Perl/perl5/commit/d987c7395f4c19fa72a72679d2aa474620787b2f
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M ext/Opcode/Opcode.xs

  Log Message:
  -----------
  Opcode.xs: avoid setting ST(0) in void XSUBs

Update some XSUBs in this distro's XS to avoid an old anti-pattern.

In detail: a historical quirk of XS, which was fixed in 1996, allowed code
to be written along the lines of:

    void
    foo(...)
      CODE:
        ...
        ST(0) = ...;

This is wrong, because the code is declared as returning nothing, but
still puts something on the stack.

ExtUtils::ParseXS has some hacky logic to work around this coding style.
Normally it would emit 'XSRETURN_EMPTY' for a void XSUB, but if it sees
text like 'ST(n) = ' in the body of a void XSUB, it emits 'XSRETURN(1)'
instead.

The docs were fixed in 1996, but this anti-pattern continues to reproduce.
This commit is part of an branch which eliminates this code style within
the parts of bleadperl under p5p's control.


  Commit: 0376c15bc6a6c61144d10983150fc1394747ecf8
      
https://github.com/Perl/perl5/commit/0376c15bc6a6c61144d10983150fc1394747ecf8
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M ext/POSIX/lib/POSIX.pm

  Log Message:
  -----------
  POSIX: bump version to 2.26


  Commit: 25f40b3ff13fd9e6262e18c4a9b685ecc82fa46f
      
https://github.com/Perl/perl5/commit/25f40b3ff13fd9e6262e18c4a9b685ecc82fa46f
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M ext/POSIX/POSIX.xs

  Log Message:
  -----------
  POSIX.xs: avoid setting ST(0) in void XSUBs

Update some XSUBs in this distro's XS to avoid an old anti-pattern.

In detail: a historical quirk of XS, which was fixed in 1996, allowed code
to be written along the lines of:

    void
    foo(...)
      CODE:
        ...
        ST(0) = ...;

This is wrong, because the code is declared as returning nothing, but
still puts something on the stack.

ExtUtils::ParseXS has some hacky logic to work around this coding style.
Normally it would emit 'XSRETURN_EMPTY' for a void XSUB, but if it sees
text like 'ST(n) = ' in the body of a void XSUB, it emits 'XSRETURN(1)'
instead.

The docs were fixed in 1996, but this anti-pattern continues to reproduce.
This commit is part of an branch which eliminates this code style within
the parts of bleadperl under p5p's control.


  Commit: 05fff3d0cc10fb247ed41095312ded33d1805990
      
https://github.com/Perl/perl5/commit/05fff3d0cc10fb247ed41095312ded33d1805990
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M dist/Storable/lib/Storable.pm

  Log Message:
  -----------
  Storable: bump version to 3.40


  Commit: bbf4b5b4661f7f077148f7bcf0315e5e643fcbaf
      
https://github.com/Perl/perl5/commit/bbf4b5b4661f7f077148f7bcf0315e5e643fcbaf
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M dist/Storable/Storable.xs

  Log Message:
  -----------
  Storable.xs: avoid setting ST(0) in void XSUBs

Update some XSUBs in this distro's XS to avoid an old anti-pattern.

In detail: a historical quirk of XS, which was fixed in 1996, allowed code
to be written along the lines of:

    void
    foo(...)
      CODE:
        ...
        ST(0) = ...;

This is wrong, because the code is declared as returning nothing, but
still puts something on the stack.

ExtUtils::ParseXS has some hacky logic to work around this coding style.
Normally it would emit 'XSRETURN_EMPTY' for a void XSUB, but if it sees
text like 'ST(n) = ' in the body of a void XSUB, it emits 'XSRETURN(1)'
instead.

The docs were fixed in 1996, but this anti-pattern continues to reproduce.
This commit is part of an branch which eliminates this code style within
the parts of bleadperl under p5p's control.


  Commit: 801c6d332e19d508f5c396ec1e5c3739c27b405d
      
https://github.com/Perl/perl5/commit/801c6d332e19d508f5c396ec1e5c3739c27b405d
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M dist/threads/lib/threads.pm

  Log Message:
  -----------
  threads: bump version to 2.45


  Commit: 5aa665484ca2892c74c6cf0f2cad99acbecd38d3
      
https://github.com/Perl/perl5/commit/5aa665484ca2892c74c6cf0f2cad99acbecd38d3
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M dist/threads/threads.xs

  Log Message:
  -----------
  threads.xs: avoid setting ST(0) in void XSUBs

Update some XSUBs in this distro's XS to avoid an old anti-pattern.

In detail: a historical quirk of XS, which was fixed in 1996, allowed code
to be written along the lines of:

    void
    foo(...)
      CODE:
        ...
        ST(0) = ...;

This is wrong, because the code is declared as returning nothing, but
still puts something on the stack.

ExtUtils::ParseXS has some hacky logic to work around this coding style.
Normally it would emit 'XSRETURN_EMPTY' for a void XSUB, but if it sees
text like 'ST(n) = ' in the body of a void XSUB, it emits 'XSRETURN(1)'
instead.

The docs were fixed in 1996, but this anti-pattern continues to reproduce.
This commit is part of an branch which eliminates this code style within
the parts of bleadperl under p5p's control.


  Commit: badb56ac90d2e69b62c7f7120d2a5c0cda5e56a8
      
https://github.com/Perl/perl5/commit/badb56ac90d2e69b62c7f7120d2a5c0cda5e56a8
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M dist/threads-shared/lib/threads/shared.pm

  Log Message:
  -----------
  threads::shared: bump version to 1.73


  Commit: 3b4508d3012c936ac677c92040c1cb50f6ddea8c
      
https://github.com/Perl/perl5/commit/3b4508d3012c936ac677c92040c1cb50f6ddea8c
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M dist/threads-shared/shared.xs

  Log Message:
  -----------
  threads::shared: avoid setting ST(0) in void XSUBs

Update some XSUBs in this distro's XS to avoid an old anti-pattern.

In detail: a historical quirk of XS, which was fixed in 1996, allowed code
to be written along the lines of:

    void
    foo(...)
      CODE:
        ...
        ST(0) = ...;

This is wrong, because the code is declared as returning nothing, but
still puts something on the stack.

ExtUtils::ParseXS has some hacky logic to work around this coding style.
Normally it would emit 'XSRETURN_EMPTY' for a void XSUB, but if it sees
text like 'ST(n) = ' in the body of a void XSUB, it emits 'XSRETURN(1)'
instead.

The docs were fixed in 1996, but this anti-pattern continues to reproduce.
This commit is part of an branch which eliminates this code style within
the parts of bleadperl under p5p's control.


  Commit: 0d7078e0315cb6c1087a05de7d418e0092352781
      
https://github.com/Perl/perl5/commit/0d7078e0315cb6c1087a05de7d418e0092352781
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M ext/XS-APItest/APItest.pm

  Log Message:
  -----------
  XS::APItest: bump version to 1.50


  Commit: e1641793d1a6764bdcea5a32192a98f52053b535
      
https://github.com/Perl/perl5/commit/e1641793d1a6764bdcea5a32192a98f52053b535
  Author: David Mitchell <[email protected]>
  Date:   2026-02-27 (Fri, 27 Feb 2026)

  Changed paths:
    M ext/XS-APItest/APItest.xs

  Log Message:
  -----------
  XS::APItest: avoid setting ST(0) in void XSUBs

Update some XSUBs in this distro's XS to avoid an old anti-pattern.

In detail: a historical quirk of XS, which was fixed in 1996, allowed code
to be written along the lines of:

    void
    foo(...)
      CODE:
        ...
        ST(0) = ...;

This is wrong, because the code is declared as returning nothing, but
still puts something on the stack.

ExtUtils::ParseXS has some hacky logic to work around this coding style.
Normally it would emit 'XSRETURN_EMPTY' for a void XSUB, but if it sees
text like 'ST(n) = ' in the body of a void XSUB, it emits 'XSRETURN(1)'
instead.

The docs were fixed in 1996, but this anti-pattern continues to reproduce.
This commit is part of an branch which eliminates this code style within
the parts of bleadperl under p5p's control.


Compare: https://github.com/Perl/perl5/compare/5d803e43e40a...e1641793d1a6

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

Reply via email to