syphilis has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

I was looking at a change (between 5.18.0 and 5.20.0) in the numeric flags that are set.
On another list, dave_the_m pointed me to the following commit (which accounts for the change in behaviour):
commit b127e37e51c21b0a36755dcd19811be931a03d83 Author: Karl Williamson <pub...@khwilliamson.com> Date: Mon May 13 07:35:35 2013 -0600 PATCH: [perl #108378] [perl #115800] This patch solves two tickets. Both are a result of the stringification of a floating number being sticky, so that the character representing + the decimal point may be from an old locale. The patch solves this b +y not retaining the stringification of NVs.
Now, I know the commit was not made in time for 5.18.0 (because I have 5.18.0, and it displays the old behaviour) ... and I know it *is* in 5.20.0 (because I have 5.20.0 and it displays the new behaviour).
What I don't know is whether it was ever backported to a subsequent 5.18.x release.
Is there a way to find out by examining publicly available information ?

I tried searching perl5181delta.pod, perl5182delta.pod and perl5184delta.pod for the string NV but that turned up no hits.
I couldn't find a perl5183delta.pod in my perl-5.25.6 source download. (WTF ?)

I guess I could start by grabbing the various 5.18.x distros and see which behaviour they exhibit, but that seems a rather tedious approach.
What guarantee is there that it hasn't been backported to a 5.16.x release ?

I've no issue with the change itself - it serves my purposes fine. I'm just a bit curious to know which versions are affected as it has relevance for Math::MPFR->new($arg) - which takes its cues on how to proceed from $arg's numeric flags.

For those curious about the exact nature of the change, I run (on Windows):
C:\>perl -MDevel::Peek -le "$x = 2.7; print $x; Dump $x;"
On 5.18.0, the Dump() reveals that the set flags are (NOK,POK,pNOK,pPOK)
On 5.20.0, the Dump() reveals that the set flags are (NOK,pNOK).

Cheers,
Rob

Replies are listed 'Best First'.
Re: Determining if a change in perl was backported
by dave_the_m (Monsignor) on Nov 07, 2016 at 13:15 UTC
    Is there a way to find out by examining publicly available information ?
    If you have a copy of the git repository, you could try looking for a similar subject line in the maint branches:
    $ git log --oneline --grep 108378 origin/maint-5.20 b79536e lib/locale.t: Remove workaround for now fixed #108378 b127e37 PATCH: [perl #108378] [perl #115800] $ git log --oneline --grep 108378 origin/maint-5.18 $ git log --oneline --grep 108378 origin/maint-5.16 $
    I couldn't find a perl5183delta.pod in my perl-5.25.6 source download. (WTF ?)
    That's an interesting oversight!

    Dave.

      > That's an interesting oversight!

      Well, whose oversight? perl5184delta says:

      > This document describes differences between the 5.18.4 release and the 5.18.2 release. Please note: This document ignores perl 5.18.3, a broken release which existed for a few hours only.

      ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
Re: Determining if a change in perl was backported
by Tux (Canon) on Nov 07, 2016 at 17:06 UTC

    For this specific issue, you should *also* look at if your perl is threaded. See how the flags changed over time:

    perl5.x.x = untreaded, tperl5.x.x = threaded == perl5.18.0 NOK, READONLY, pNOK == tperl5.18.0 NOK, PADTMP, READONLY, pNOK == perl5.20.0 NOK, READONLY, pNOK == tperl5.20.0 NOK, READONLY, pNOK

    The change was shipped with version 5.19.3


    Enjoy, Have FUN! H.Merijn
Re: Determining if a change in perl was backported
by beech (Parson) on Nov 07, 2016 at 19:50 UTC
Re: Determining if a change in perl was backported
by syphilis (Archbishop) on Nov 08, 2016 at 10:41 UTC
    Thanks for the responses, guys.
    That should give me enough to work with next time I need an answer to such a question.

    Cheers,
    Rob