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

  Changed paths:
    M ext/B/B.pm

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


  Commit: 76127871e26ea5fceed7ce9758a9d4045bbd7f08
      
https://github.com/Perl/perl5/commit/76127871e26ea5fceed7ce9758a9d4045bbd7f08
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 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: a0d3625f2bc6922f1fbbdc3e2bd70be419ff263c
      
https://github.com/Perl/perl5/commit/a0d3625f2bc6922f1fbbdc3e2bd70be419ff263c
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 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: 5ecd68ef26c556ddc01033d26be555895f4d2796
      
https://github.com/Perl/perl5/commit/5ecd68ef26c556ddc01033d26be555895f4d2796
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 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: 456c16efae2f16f8ad59fe8d664e05b88099d2f0
      
https://github.com/Perl/perl5/commit/456c16efae2f16f8ad59fe8d664e05b88099d2f0
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 Feb 2026)

  Changed paths:
    M ext/Opcode/Opcode.pm

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


  Commit: fdefe2c6be4cbaf88afc04c0737d70396c06a27e
      
https://github.com/Perl/perl5/commit/fdefe2c6be4cbaf88afc04c0737d70396c06a27e
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 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: 1d8a8dbf114cd0f1397fb2ad3e59f7b25e5baf61
      
https://github.com/Perl/perl5/commit/1d8a8dbf114cd0f1397fb2ad3e59f7b25e5baf61
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 Feb 2026)

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

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


  Commit: 7de149af2fc0ca126fea4f9983a30fd9910bbd65
      
https://github.com/Perl/perl5/commit/7de149af2fc0ca126fea4f9983a30fd9910bbd65
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 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: d06e2ca74e0fdf726a8c64241eae44e77df8683b
      
https://github.com/Perl/perl5/commit/d06e2ca74e0fdf726a8c64241eae44e77df8683b
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 Feb 2026)

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

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


  Commit: 313c89db6316201ef0a11402064cbf4ee0ee285b
      
https://github.com/Perl/perl5/commit/313c89db6316201ef0a11402064cbf4ee0ee285b
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 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: e0bda6361cadb379d977d18cabdb1a5400e0d7cc
      
https://github.com/Perl/perl5/commit/e0bda6361cadb379d977d18cabdb1a5400e0d7cc
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 Feb 2026)

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

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


  Commit: f7c2b147a33176c65622dc847f14fece2a536d49
      
https://github.com/Perl/perl5/commit/f7c2b147a33176c65622dc847f14fece2a536d49
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 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: 49573165f4c48b6e6b67e43cbccc15d4ebc84e97
      
https://github.com/Perl/perl5/commit/49573165f4c48b6e6b67e43cbccc15d4ebc84e97
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 Feb 2026)

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

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


  Commit: 5b04ba04bf5e7cb3d9e15bae9ab6964a35c42d40
      
https://github.com/Perl/perl5/commit/5b04ba04bf5e7cb3d9e15bae9ab6964a35c42d40
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 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: c52f387cb3d3d1768480193b3bdf7a11d7869fbc
      
https://github.com/Perl/perl5/commit/c52f387cb3d3d1768480193b3bdf7a11d7869fbc
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 Feb 2026)

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

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


  Commit: 270a26e90c739cea25a834999e99d0886c3caa07
      
https://github.com/Perl/perl5/commit/270a26e90c739cea25a834999e99d0886c3caa07
  Author: David Mitchell <[email protected]>
  Date:   2026-02-25 (Wed, 25 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/526e605a6a15%5E...270a26e90c73

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

Reply via email to