Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 2963b49263728d75727cfa14f81f86e0b6204503
      
https://github.com/Perl/perl5/commit/2963b49263728d75727cfa14f81f86e0b6204503
  Author: Lukas Mai <lukasmai....@gmail.com>
  Date:   2023-09-23 (Sat, 23 Sep 2023)

  Changed paths:
    M ext/XS-APItest/APItest.pm
    M ext/XS-APItest/APItest.xs
    M handy.h

  Log Message:
  -----------
  fix PERL_VERSION_LE (for all x: x should be <= x)

The '<' in the previous definition means that the "E" part of "LE"
(less-or-equal) never matches (unless p == '*'). That is, if you are on
v5.38.0 and want to check PERL_VERSION_LE(5, 38, 0), it'll return false.

Fix: Switch to '<=' and change the logic for '*' to bump the patch
version up to 999, which is the maximum supported by the encoding that
PERL_JNP_TO_DECIMAL_ uses.

Also add some ad-hoc sanity checks for the version comparison macros.

Fixes #21506.


  Commit: de4a70f325814c204a79d4d025b3c464f70088bb
      
https://github.com/Perl/perl5/commit/de4a70f325814c204a79d4d025b3c464f70088bb
  Author: Lukas Mai <lukasmai....@gmail.com>
  Date:   2023-09-23 (Sat, 23 Sep 2023)

  Changed paths:
    M handy.h

  Log Message:
  -----------
  fix PERL_JNP_TO_DECIMAL_

Commit 4a1bbd3d3953c4 added the multiplication by 10. As the comment
explains, this is to leave room for alpha/beta releases.

However, the expression is parenthesized such that the '10 *' part only
applies to the major version; i.e. major is now effectively multiplied
by 10_000_000 instead of 1_000_000.

Change this to multiply the whole thing by 10. That way we get an extra
digit at the bottom, which seems to have been the original intent.


Compare: https://github.com/Perl/perl5/compare/01272778386c...de4a70f32581

Reply via email to