Branch: refs/heads/23918-cmp-api
Home: https://github.com/Perl/perl5
Commit: 16717d448459b076eee9955b9b9923de17cbf6b5
https://github.com/Perl/perl5/commit/16717d448459b076eee9955b9b9923de17cbf6b5
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M MANIFEST
M embed.fnc
M embed.h
M ext/XS-APItest/APItest.xs
M ext/XS-APItest/t/sv_numeq.t
A ext/XS-APItest/t/sv_numne.t
M proto.h
M sv.c
M sv.h
Log Message:
-----------
add sv_numne() to the API
some refactoring next, since sv_numeq_flags and sv_numne_flags are
similar.
Used a separate test file since putting every sv_num*() variant in the
one file would be ugly
Addresses GH #23918 but isn't a direct fix
Commit: d06055fc3362aa7ca9af4eb22fa414cfeb431dc7
https://github.com/Perl/perl5/commit/d06055fc3362aa7ca9af4eb22fa414cfeb431dc7
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M embed.fnc
M embed.h
M ext/XS-APItest/APItest.xs
M ext/XS-APItest/t/sv_numeq.t
M ext/XS-APItest/t/sv_numne.t
M proto.h
M sv.c
Log Message:
-----------
sv.c: extract the common parts of sv_numeq_flags and sv_numne_flags
Commit: bd4bba678c8e556fa082f87eeaa8eda489693b8f
https://github.com/Perl/perl5/commit/bd4bba678c8e556fa082f87eeaa8eda489693b8f
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M sv.c
Log Message:
-----------
sv_numeq/sv_numne: consolidate the similar documentation
If nothing else putting them together may avoid someone doing
`!sv_numeq(...)`
Commit: d41101a00dfbe22df4ee5c25c1ead01a6668c632
https://github.com/Perl/perl5/commit/d41101a00dfbe22df4ee5c25c1ead01a6668c632
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M MANIFEST
M embed.fnc
M embed.h
M ext/XS-APItest/APItest.xs
A ext/XS-APItest/t/sv_numcmp.t
M ext/XS-APItest/t/sv_numeq.t
M ext/XS-APItest/t/sv_numne.t
M proto.h
M sv.c
M sv.h
Log Message:
-----------
add sv_numcmp() to the API
Commit: ecff2db8c63f27bd4f055e13f2176b18910c9b28
https://github.com/Perl/perl5/commit/ecff2db8c63f27bd4f055e13f2176b18910c9b28
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M ext/XS-APItest/t/sv_numcmp.t
M ext/XS-APItest/t/sv_numeq.t
M ext/XS-APItest/t/sv_numne.t
M sv.c
Log Message:
-----------
sv_num*: correctly handle "0+" overloaded values
do_ncmp() expects simple SVs and for overloaded SVs will just compare
the SvNV() of each SV, mishandling the case where the 0+ overload
returns a large UV or IV that isn't exactly representable as an NV.
# Conflicts:
# ext/XS-APItest/t/sv_numeq.t
# ext/XS-APItest/t/sv_numne.t
# sv.c
Commit: 5c2ee02593cacca06d81769bc9486627d7c1a046
https://github.com/Perl/perl5/commit/5c2ee02593cacca06d81769bc9486627d7c1a046
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M MANIFEST
M embed.fnc
M embed.h
M ext/XS-APItest/APItest.xs
A ext/XS-APItest/t/sv_numlget.t
M proto.h
M sv.c
M sv.h
Log Message:
-----------
add sv_numle(), sv_numlt(), sv_numge(), sv_numgt() APIs
These are all needed because overloading may make them inconsistent
with <=> overloading.
Commit: 2dd07a2e7fca1f23aba7e89992259301d3673849
https://github.com/Perl/perl5/commit/2dd07a2e7fca1f23aba7e89992259301d3673849
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M sv.c
Log Message:
-----------
sv_numcmp_common: only call magic once if the SVs are the same
similar to try_amagic_bin()
Commit: 09fe3a12eea2360fa8d24811ed99727292d66681
https://github.com/Perl/perl5/commit/09fe3a12eea2360fa8d24811ed99727292d66681
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M ext/XS-APItest/APItest.xs
M ext/XS-APItest/t/sv_numne.t
Log Message:
-----------
add tests for void context calls to overloads
Discovered while working on another module, in many amagic_call() will
use the current context when calling the overload sub, but these APIs
might be called in XS code that simply needs a comparison, regardless
of the current OP context.
Commit: 0bb419d9ace4835b7d119b2d5b93f52dc4c6efb3
https://github.com/Perl/perl5/commit/0bb419d9ace4835b7d119b2d5b93f52dc4c6efb3
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M gv.c
M pp.h
M sv.c
Log Message:
-----------
amagic_call: accept a AMGf_force_scalar flag to force scalar context
and use it from the numeric comparison APIs.
Commit: 1ce4bc0d13d6268cce62bd1ac221c1f3b44069b8
https://github.com/Perl/perl5/commit/1ce4bc0d13d6268cce62bd1ac221c1f3b44069b8
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M gv.c
M pp_hot.c
Log Message:
-----------
pp_multiconcat: use the new AMGf_force_scalar
instead of a special case in amagic_call()
Commit: f4f735a8eb264c0c079b578c83dd1e790b436734
https://github.com/Perl/perl5/commit/f4f735a8eb264c0c079b578c83dd1e790b436734
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M embed.fnc
M embed.h
M ext/XS-APItest/t/sv_numeq.t
M proto.h
M sv.c
M sv.h
Log Message:
-----------
sv_numeq etc: don't do numify overloading with SV_SKIP_OVERLOAD
Commit: 2f8d46d1fef55f2cc85b77de1562e81b6eae4a9a
https://github.com/Perl/perl5/commit/2f8d46d1fef55f2cc85b77de1562e81b6eae4a9a
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M ext/XS-APItest/Makefile.PL
M ext/XS-APItest/t/sv_numne.t
M gv.c
M pp.h
M sv.c
M sv.h
Log Message:
-----------
add SV_FORCE_OVERLOAD to the sv_numcmp() APIs
and add AMGf_force_overload to amagic_call() which does the actual work.
Commit: 15e9ee5594598906c45e939b0d43a43d8eb2caa4
https://github.com/Perl/perl5/commit/15e9ee5594598906c45e939b0d43a43d8eb2caa4
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M ext/XS-APItest/APItest.xs
M ext/XS-APItest/t/sv_numeq.t
Log Message:
-----------
check the void context fix for sv_numeq too
Commit: 9db4e168080eaea3c6f9df8782220250b7171a2b
https://github.com/Perl/perl5/commit/9db4e168080eaea3c6f9df8782220250b7171a2b
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M pod/perldelta.pod
M sv.c
Log Message:
-----------
add perldelta for sv_numeq fix and other sv_num* additions
modified the sv.c documentation since the perldelta sv_numeq link had
multiple targets.
Commit: 178011c1679060e99d900a0e2e949be08faee2e3
https://github.com/Perl/perl5/commit/178011c1679060e99d900a0e2e949be08faee2e3
Author: Tony Cook <[email protected]>
Date: 2025-12-17 (Wed, 17 Dec 2025)
Changed paths:
M embed.fnc
M sv.c
Log Message:
-----------
Add some documentation for sv_numcmp_common()
Compare: https://github.com/Perl/perl5/compare/16717d448459%5E...178011c16790
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications