Branch: refs/heads/davem/xs_void_st0
  Home:   https://github.com/Perl/perl5
  Commit: 1fa705cecf05facd1a250d5b1752e3b5e3a400ac
      
https://github.com/Perl/perl5/commit/1fa705cecf05facd1a250d5b1752e3b5e3a400ac
  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: c27fd96267fb72380b9fff8eb937e7c9d631fa55
      
https://github.com/Perl/perl5/commit/c27fd96267fb72380b9fff8eb937e7c9d631fa55
  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: 93be29fa22d139c903e929a56945f877d7f6dae2
      
https://github.com/Perl/perl5/commit/93be29fa22d139c903e929a56945f877d7f6dae2
  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: 2f46dde4e6dc670e1385ce75c2dcd0f84cea2f11
      
https://github.com/Perl/perl5/commit/2f46dde4e6dc670e1385ce75c2dcd0f84cea2f11
  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: 91d69c83a787968db17c81f0468c0829ee1180c7
      
https://github.com/Perl/perl5/commit/91d69c83a787968db17c81f0468c0829ee1180c7
  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: 1771f7e2c8a39d19a728d75b024502ea6d58c5a4
      
https://github.com/Perl/perl5/commit/1771f7e2c8a39d19a728d75b024502ea6d58c5a4
  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: 23ba45c20aa94bd5525f6bb6dd53fe142db9307b
      
https://github.com/Perl/perl5/commit/23ba45c20aa94bd5525f6bb6dd53fe142db9307b
  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: 3a391d7569bb6b3b047927be9f7ddb841b9675b5
      
https://github.com/Perl/perl5/commit/3a391d7569bb6b3b047927be9f7ddb841b9675b5
  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: 202e32c8eef4403dc1ddf6dbd588f9f57d2a9068
      
https://github.com/Perl/perl5/commit/202e32c8eef4403dc1ddf6dbd588f9f57d2a9068
  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: 74f87b51687603c96e7ec7150bb09680b88dc456
      
https://github.com/Perl/perl5/commit/74f87b51687603c96e7ec7150bb09680b88dc456
  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: 43b22e7bb9662b2c153b00b25b3c78be3c6317d6
      
https://github.com/Perl/perl5/commit/43b22e7bb9662b2c153b00b25b3c78be3c6317d6
  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: 2fd8ccbbfc4a9a3202070c87942dace0698d0c8b
      
https://github.com/Perl/perl5/commit/2fd8ccbbfc4a9a3202070c87942dace0698d0c8b
  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: 3b02783bc3ce5ef53fd3679d9f228424c2a9a896
      
https://github.com/Perl/perl5/commit/3b02783bc3ce5ef53fd3679d9f228424c2a9a896
  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: 493e57572b58b213805e09ef20b443e9aa3260a7
      
https://github.com/Perl/perl5/commit/493e57572b58b213805e09ef20b443e9aa3260a7
  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: 5d803e43e40ac097498780de7d5f39b3fbf75c6e
      
https://github.com/Perl/perl5/commit/5d803e43e40ac097498780de7d5f39b3fbf75c6e
  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/270a26e90c73...5d803e43e40a

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

Reply via email to