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

Reply via email to