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