Branch: refs/heads/smoke-me/khw-env
  Home:   https://github.com/Perl/perl5
  Commit: 97bd10fb57ec53f2b530fa9e518855b030360038
      
https://github.com/Perl/perl5/commit/97bd10fb57ec53f2b530fa9e518855b030360038
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale.t

  Log Message:
  -----------
  lib/locale.t:

Fixes #21697.

On some platforms, a locale name is specified in the code page (or
code set) that applies to it, rather than plain ASCII.  Windows, and
hence MingW, is the prime example.

The locale name for a particular Turkish variety found in MingW is
"Turkish_T?????.1254" where the question marks represent different
characters that have meaning in the 1254 code page, but would look like
mojibake if I had reproduced their actual values here.

When doing a setlocale() here, if the current code page is incompatible
with the new one, it will fail; if compatible it will succeed.

On my box running MingW, locales are tried out by this test file in
alphabetical order, and the one before this Turkish happens to be Thai,
with a code page of 874.  Apparently 1254 is not compatible with 874, so
switching directly from Thai to Turkish fails.

The solution is to switch into a neutral code page before switching into
one being trialed.  "C" works in this case, and I suspect in all others.


  Commit: 4a6082257fe61224954d5dc9aac8f127620fd1e7
      
https://github.com/Perl/perl5/commit/4a6082257fe61224954d5dc9aac8f127620fd1e7
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M charclass_invlists.h
    M lib/unicore/Makefile
    M lib/unicore/mktables
    M lib/unicore/uni_keywords.pl
    M regcharclass.h
    M uni_keywords.h

  Log Message:
  -----------
  mktables more verbose


  Commit: bb7bdc6ac915d1d850e1317c3ad699c1adef2db4
      
https://github.com/Perl/perl5/commit/bb7bdc6ac915d1d850e1317c3ad699c1adef2db4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm

  Log Message:
  -----------
  BlackBox dont use rare scripts


  Commit: f57e455d9c2b8cfddc50dfd5f6625f7f5268dd5a
      
https://github.com/Perl/perl5/commit/f57e455d9c2b8cfddc50dfd5f6625f7f5268dd5a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/harness

  Log Message:
  -----------
  XXX t/harness temp tweaks


  Commit: ee6529a392a68d980b2866ce7d6fad64d1cf04aa
      
https://github.com/Perl/perl5/commit/ee6529a392a68d980b2866ce7d6fad64d1cf04aa
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/harness

  Log Message:
  -----------
  XXX skip croak.t under sanitizer


  Commit: afb4ee1aa9c0550f1cf9a67e0050e40afd8a44f3
      
https://github.com/Perl/perl5/commit/afb4ee1aa9c0550f1cf9a67e0050e40afd8a44f3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/porting/bincompat.t

  Log Message:
  -----------
  skip bincompat.t


  Commit: 98bc22d4601bb7b6502286231b556e02154ba190
      
https://github.com/Perl/perl5/commit/98bc22d4601bb7b6502286231b556e02154ba190
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/TEST

  Log Message:
  -----------
  Skip cpan testing message


  Commit: 2ad45e5f746d6d5ed577e3d5abafaa05ba787ffd
      
https://github.com/Perl/perl5/commit/2ad45e5f746d6d5ed577e3d5abafaa05ba787ffd
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/TEST

  Log Message:
  -----------
  Also skip non-thread dist testing


  Commit: 4e174ff491474862136c09b0a8c25e7e3ae517a0
      
https://github.com/Perl/perl5/commit/4e174ff491474862136c09b0a8c25e7e3ae517a0
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/Archive-Tar/t/02_methods.t

  Log Message:
  -----------
  XXX skip Archive-Tar because of symlinks


  Commit: 61565ad41d8c28d1c9380f11b162ad448204bf5a
      
https://github.com/Perl/perl5/commit/61565ad41d8c28d1c9380f11b162ad448204bf5a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/porting/cmp_version.t

  Log Message:
  -----------
  XXX skip cmp_version.t because of sym links


  Commit: 243a210c254a34bb1c5256391008d3b4d1439061
      
https://github.com/Perl/perl5/commit/243a210c254a34bb1c5256391008d3b4d1439061
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/Sys-Syslog/t/syslog-inet-udp.t
    M cpan/Sys-Syslog/t/syslog.t

  Log Message:
  -----------
  XXX skip syslog tests because fail without LC_TIME


  Commit: 2a4191d171ec7bb7b4df51ebcac30396f32d6979
      
https://github.com/Perl/perl5/commit/2a4191d171ec7bb7b4df51ebcac30396f32d6979
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M dist/Tie-File/t/29a_upcopy.t

  Log Message:
  -----------
  up timeout for dist/Tie-File/t/29a_upcopy.t


  Commit: f080eddab4659bc4b9c501c12f50a91e3a490ca7
      
https://github.com/Perl/perl5/commit/f080eddab4659bc4b9c501c12f50a91e3a490ca7
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M MANIFEST
    A t/uni/idstart.pl
    A t/uni/idstart00.t
    A t/uni/idstart01.t
    A t/uni/idstart02.t
    A t/uni/idstart03.t
    A t/uni/idstart04.t
    A t/uni/idstart05.t
    A t/uni/idstart06.t
    A t/uni/idstart07.t
    A t/uni/idstart08.t
    A t/uni/idstart09.t
    A t/uni/idstart10.t
    A t/uni/idstart11.t
    A t/uni/idstart12.t
    A t/uni/idstart13.t
    A t/uni/idstart14.t
    A t/uni/idstart15.t
    A t/uni/idstart16.t
    A t/uni/idstart17.t
    A t/uni/idstart18.t
    A t/uni/idstart19.t
    A t/uni/idstart20.t
    A t/uni/idstart21.t
    A t/uni/idstart22.t
    A t/uni/idstart23.t
    M t/uni/variables.t

  Log Message:
  -----------
  Split t/uni/variables.t into multiple tests

These can be done in parallel; otherwise this is often the test that
finishes last, holding up the test suite completion.


  Commit: 4f1350f74a24d986744f06d7eaccb343f5ddeb09
      
https://github.com/Perl/perl5/commit/4f1350f74a24d986744f06d7eaccb343f5ddeb09
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/run/locale.t

  Log Message:
  -----------
  run/locale.t: more debug


  Commit: 11d7a4b38b7851b8640b1cbd484f984d13b92da0
      
https://github.com/Perl/perl5/commit/11d7a4b38b7851b8640b1cbd484f984d13b92da0
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M MANIFEST
    M charclass_invlists.h
    M lib/unicore/mktables
    M lib/unicore/uni_keywords.pl
    M regcharclass.h
    A t/re/uniprops11.t
    A t/re/uniprops12.t
    A t/re/uniprops13.t
    A t/re/uniprops14.t
    A t/re/uniprops15.t
    A t/re/uniprops16.t
    A t/re/uniprops17.t
    A t/re/uniprops18.t
    A t/re/uniprops19.t
    A t/re/uniprops20.t
    A t/re/uniprops21.t
    A t/re/uniprops22.t
    A t/re/uniprops23.t
    A t/re/uniprops24.t
    M uni_keywords.h

  Log Message:
  -----------
  Make 24 uniprops.t tests


  Commit: 59b4c24bee2fbcb42ab849b3677996c03a21ee50
      
https://github.com/Perl/perl5/commit/59b4c24bee2fbcb42ab849b3677996c03a21ee50
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M perl.h

  Log Message:
  -----------
       XXX temp to test broken lconv on non-Windows


  Commit: 0dcb841b144985c8842b668b8792305d64056c4a
      
https://github.com/Perl/perl5/commit/0dcb841b144985c8842b668b8792305d64056c4a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/run/locale.t

  Log Message:
  -----------
  XXX run/locale.t: maybe f move test


  Commit: f0ade6ab1aad6468a8a577c9eb04fb870c5aec18
      
https://github.com/Perl/perl5/commit/f0ade6ab1aad6468a8a577c9eb04fb870c5aec18
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/version/t/07locale.t
    M t/porting/customized.dat

  Log Message:
  -----------
  version::07locale.t: Use I18N::Langinfo, not POSIX::localeconv()

The former is always present; the latter might not be.


  Commit: 73575e4afd0703aa93e4d9139507c5b7147b3d2b
      
https://github.com/Perl/perl5/commit/73575e4afd0703aa93e4d9139507c5b7147b3d2b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/porting/cmp_version.t

  Log Message:
  -----------
  XXX skip cmp_version.t prob. due to 5.38 tag issue


  Commit: 6b6669090428ce7ef5778e54b2a5541afa10dec3
      
https://github.com/Perl/perl5/commit/6b6669090428ce7ef5778e54b2a5541afa10dec3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/version/t/07locale.t
    M t/porting/customized.dat

  Log Message:
  -----------
  version 07locale.t should use LC_NUMERIC, not ALL

These outliers don't belong.  This file is working on LC_NUMERIC only.


  Commit: 52d8932909482250e8d33a6da0e3d7951a989c2e
      
https://github.com/Perl/perl5/commit/52d8932909482250e8d33a6da0e3d7951a989c2e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M makedef.pl
    M perl.h

  Log Message:
  -----------
  XXX temporary: Allow undef LC_ALL


  Commit: bb754b114c122b8bdc2e12a3613da5545ffa99e9
      
https://github.com/Perl/perl5/commit/bb754b114c122b8bdc2e12a3613da5545ffa99e9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: Fake up win32 compile a bit


  Commit: eeac883bde6742c2fa36e06bea9eab50037e535b
      
https://github.com/Perl/perl5/commit/eeac883bde6742c2fa36e06bea9eab50037e535b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M sv.c

  Log Message:
  -----------
  newSVbool(): Fix compiler warning

The parameter was declared const in embed.fnc, but not in the function
prototype


  Commit: 56801e3414a14dc010388667d0836c2539cfb954
      
https://github.com/Perl/perl5/commit/56801e3414a14dc010388667d0836c2539cfb954
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M proto.h

  Log Message:
  -----------
  regnode_after(): Fix compiler warning

A parameter to this function was declared const in its prototype but not
in embed.fnc.


  Commit: 2504d7ccacd80be80b8d6859656d3dcdcaf839d3
      
https://github.com/Perl/perl5/commit/2504d7ccacd80be80b8d6859656d3dcdcaf839d3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M proto.h
    M utf8.c

  Log Message:
  -----------
  uvoffuni_to_utf8_flags_msgs(): Fix compiler warning

A parameter to this function was declared const in embed.fnc, but isn't
const.

This commit also adds a const to another parameter that is constant.


  Commit: 27acca60adda1433f26ad3a6eca5f53e2304d507
      
https://github.com/Perl/perl5/commit/27acca60adda1433f26ad3a6eca5f53e2304d507
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M proto.h

  Log Message:
  -----------
  S_clear_placeholders(): Fix compiler warning

A parameter to this function was declared const in its prototype but not
in embed.fnc, and had a different name


  Commit: ce3fe725e5944560f162e78185bff2bae7d414a3
      
https://github.com/Perl/perl5/commit/ce3fe725e5944560f162e78185bff2bae7d414a3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M proto.h
    M util.c

  Log Message:
  -----------
  XXX memlog


  Commit: 1d2a6ab41e4f0239f288a184f70360aa5bac42f1
      
https://github.com/Perl/perl5/commit/1d2a6ab41e4f0239f288a184f70360aa5bac42f1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M perl.h
    M t/run/switchDx.t

  Log Message:
  -----------
  debug thread


  Commit: 37b9c3c5f9adbf0d4cf1ebc4bb15fd7c18169c6f
      
https://github.com/Perl/perl5/commit/37b9c3c5f9adbf0d4cf1ebc4bb15fd7c18169c6f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M dist/threads/threads.xs

  Log Message:
  -----------
  threads.xs DEBUG_U


  Commit: dc9b7901fe053f5d4bcc09f9e1c9ba66a497ce4d
      
https://github.com/Perl/perl5/commit/dc9b7901fe053f5d4bcc09f9e1c9ba66a497ce4d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale.t

  Log Message:
  -----------
  XXX temp: lib/locale.t: debug


  Commit: ff3274fe2a09d966c2c5b9941713419aa4c3e842
      
https://github.com/Perl/perl5/commit/ff3274fe2a09d966c2c5b9941713419aa4c3e842
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale.t

  Log Message:
  -----------
  lib/locale.t FILE debug


  Commit: 15f962b543062d5d4c04eace70ef6fc736b44dfa
      
https://github.com/Perl/perl5/commit/15f962b543062d5d4c04eace70ef6fc736b44dfa
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale.t

  Log Message:
  -----------
  lib/locale.t


  Commit: ad2509f6e9d6b8a82a44af52f2d8d52a7bff3e96
      
https://github.com/Perl/perl5/commit/ad2509f6e9d6b8a82a44af52f2d8d52a7bff3e96
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  XXX perl.h: Debugging mutex lock'


  Commit: 3608df5a1d30f87fb8c6e4ddadc01b8a69e49516
      
https://github.com/Perl/perl5/commit/3608df5a1d30f87fb8c6e4ddadc01b8a69e49516
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/version/t/07locale.t
    M t/porting/customized.dat

  Log Message:
  -----------
  07locale.t: Add some Windows locales to try

On various windows machines, none of the locales listed in <DATA> exist.
This commit copies ones from core's loc_tools.pl to give additional
possibilities to try


  Commit: b1445fdbfc6fd131e994788608f174bdec80517c
      
https://github.com/Perl/perl5/commit/b1445fdbfc6fd131e994788608f174bdec80517c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/version/t/07locale.t

  Log Message:
  -----------
  cpan/version/07locale.t: drop, bug have to recompute md5


  Commit: debed5acf201a08edea99bc25d688856c8cf1fa4
      
https://github.com/Perl/perl5/commit/debed5acf201a08edea99bc25d688856c8cf1fa4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/porting/customized.dat

  Log Message:
  -----------
  customized.dat


  Commit: b6bdd4efafad84c2c8d2c2f3be7bccee517793f8
      
https://github.com/Perl/perl5/commit/b6bdd4efafad84c2c8d2c2f3be7bccee517793f8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_find_locale_from_environment: Handle disparate LC_ALL

Prior to this commit, it was possible on some platforms to improperly
set a locale category from a locale of "".

Consider:

export LC_ALL="LC_CTYPE=de_DE;LC_NUMERIC=C;LC_TIME=de_DE;..."

and then run

    print POSIX::setlocale(LC_NUMERIC, "");

It wouldn't know how to extract just the LC_NUMERIC part of the LC_ALL
string.

There is no test added because I didn't find a shell that allows setting
LC_ALL to such a disparate value.


  Commit: 9a2b5d782626d1d28848ea440f1c062140e9105e
      
https://github.com/Perl/perl5/commit/9a2b5d782626d1d28848ea440f1c062140e9105e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/loc_tools.pl

  Log Message:
  -----------
  loc_tools: XXX Debug


  Commit: c3a1f70af1b8664e872d83de07c8eaad645246cb
      
https://github.com/Perl/perl5/commit/c3a1f70af1b8664e872d83de07c8eaad645246cb
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_querylocale_2008_i:  Add entry assertion


  Commit: 3da21f70017e9063f971c0353e19496e21f12e11
      
https://github.com/Perl/perl5/commit/3da21f70017e9063f971c0353e19496e21f12e11
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_bool_setlocale_i: Add entry assertion


  Commit: 92ae2c04101fe9ff43b924b80e305664b65f9a72
      
https://github.com/Perl/perl5/commit/92ae2c04101fe9ff43b924b80e305664b65f9a72
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  savepv if threaded, unused I think


  Commit: bb984bf3a44473b492a7d4d0ae4ea591a9bf5aa8
      
https://github.com/Perl/perl5/commit/bb984bf3a44473b492a7d4d0ae4ea591a9bf5aa8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M hints/darwin.sh

  Log Message:
  -----------
  darwin hints querylocale race in earlier darwins?


  Commit: bd142dde49f4072dbe0be4c4e25f7b72f0d6672d
      
https://github.com/Perl/perl5/commit/bd142dde49f4072dbe0be4c4e25f7b72f0d6672d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  pp_study: Add memory use debugging


  Commit: a5c7a507b1ba368441ec08373be265b01c1b4c28
      
https://github.com/Perl/perl5/commit/a5c7a507b1ba368441ec08373be265b01c1b4c28
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  Revert "pp_study: Add memory use debugging"


  Commit: 26282fc990102b1ee849d98920dc07b58ef4dd1e
      
https://github.com/Perl/perl5/commit/26282fc990102b1ee849d98920dc07b58ef4dd1e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M hints/darwin.sh

  Log Message:
  -----------
  darwin


  Commit: c1cf71521c1e4589735b6e992a8fd3ca5aafa772
      
https://github.com/Perl/perl5/commit/c1cf71521c1e4589735b6e992a8fd3ca5aafa772
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M hints/freebsd.sh

  Log Message:
  -----------
  Enable thread-safe locales on some freebsd versions

This had been disabled in the hints file due to bugs, which perl now
works around, so reenable (and reformat some lines for clarity)


  Commit: ebbc546df2bdff18d46f3a50ab71546eae58894f
      
https://github.com/Perl/perl5/commit/ebbc546df2bdff18d46f3a50ab71546eae58894f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/run/locale.t

  Log Message:
  -----------
  t/run/locale.t: debug


  Commit: 7aca68b1a932157d20800e686c0cb76f73c89f7e
      
https://github.com/Perl/perl5/commit/7aca68b1a932157d20800e686c0cb76f73c89f7e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  locale_threads: add a commented out yield


  Commit: 80f42ceab9fc670a8eb0b837cdbe0f0efa1cee4b
      
https://github.com/Perl/perl5/commit/80f42ceab9fc670a8eb0b837cdbe0f0efa1cee4b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  locale_threads: debugging


  Commit: 98e2b37577cffe1967041e728174876869192667
      
https://github.com/Perl/perl5/commit/98e2b37577cffe1967041e728174876869192667
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/Time-Piece/Piece.xs

  Log Message:
  -----------
  Time::Piece: Use reentrant API

This single line magically makes this work much better under threading,
though critical section locks need to be added as well.


  Commit: c9ae493db9a753f06e8864ad0df5feecf19a664a
      
https://github.com/Perl/perl5/commit/c9ae493db9a753f06e8864ad0df5feecf19a664a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/Time-Piece/Piece.xs

  Log Message:
  -----------
  Time-Piece: Use foldEQ_locale() if available

This core function available since 5.13.2 is thread-safe and knows about
Perl internals, so is preferable to the similar libc function, which is
now used only as a fallback.  This commit also bomb proofs the code by
adding an additional fallback, specified in C89, which isn't a great
substitute, but far better than nothing.


  Commit: 3e96d9170524c9f7dec85859809b22e53c43bafd
      
https://github.com/Perl/perl5/commit/3e96d9170524c9f7dec85859809b22e53c43bafd
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/Time-Piece/Piece.xs

  Log Message:
  -----------
  Time-Piece: Use isSPACE_LC, not isspace; etc

isDIGIT_LC() does the same thing as isdigit when everything goes well,
but is more robust when things get more complicated.  The _LC forms are
thread safe, for example.

But note that this code doesn't work properly for a UTF-8 locale, as it
assumes that a byte and character are the same thing.  A major overhaul
would be needed to handle that.


  Commit: 60dac67fe4ede9b64beafde616c1d4b09ffba98f
      
https://github.com/Perl/perl5/commit/60dac67fe4ede9b64beafde616c1d4b09ffba98f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M thread.h

  Log Message:
  -----------
  thread.h: White space only

Indent some nested preproccessor defines


  Commit: 97f2e2a581cdd8131e616d4d67774c4f4a2c1c6f
      
https://github.com/Perl/perl5/commit/97f2e2a581cdd8131e616d4d67774c4f4a2c1c6f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/Time-Piece/Piece.pm
    M cpan/Time-Piece/Piece.xs
    M cpan/Time-Piece/Seconds.pm
    M dist/Module-CoreList/lib/Module/CoreList.pm

  Log Message:
  -----------
  Time::Piece: Add critical sections

This calls various macros to make certain libc calls uninterruptible, so
that they can be used safely in threaded applications, when this module
is loaded with a perl that supports this.

The macros are defined to do nothing if the perl doesn't contain working
versions of them.  In such perls, the macros are also defined to do
nothing except on configurations that could have races.

Typically, an extra problem is that the libc calls return in a global
static buffer, subject to being overwritten by another thread.  But an
earlier commit defined PERL_REENTRANT, which makes those functions
transparently return in a thread-local buffer instead.  That doesn't
help if the function gets interrupted by another thread; this commit
completes the process.


  Commit: 0e626632b89d32d51c72380c192f3a70319810ec
      
https://github.com/Perl/perl5/commit/0e626632b89d32d51c72380c192f3a70319810ec
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/Time-Piece/Piece.xs

  Log Message:
  -----------
  XXX Time::Piece strftime


  Commit: 87741c503701c9abf23379296525dca24137f5b4
      
https://github.com/Perl/perl5/commit/87741c503701c9abf23379296525dca24137f5b4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M cpan/Time-Piece/Piece.xs

  Log Message:
  -----------
  Time-Piece: notes to myself


  Commit: 31d9b456bc908f431db17e0f9f26fb7ea8947b90
      
https://github.com/Perl/perl5/commit/31d9b456bc908f431db17e0f9f26fb7ea8947b90
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M util.c
    M win32/perlhost.h

  Log Message:
  -----------
  XXX Win32 mem log


  Commit: 4c2ff4a2828539752a211f1b149bb0fc9259a77d
      
https://github.com/Perl/perl5/commit/4c2ff4a2828539752a211f1b149bb0fc9259a77d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M util.c

  Log Message:
  -----------
  XXX util add thread to mem_log


  Commit: ece50f4b40d2e48734a61c200f308b5c6db98a45
      
https://github.com/Perl/perl5/commit/ece50f4b40d2e48734a61c200f308b5c6db98a45
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Debug wrap wset


  Commit: e53861a4ad2dfcd38c77f3906c8b18a80730e3d4
      
https://github.com/Perl/perl5/commit/e53861a4ad2dfcd38c77f3906c8b18a80730e3d4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M pod/perlhacktips.pod

  Log Message:
  -----------
  XXX incomplete perlhacktips:


  Commit: 7f216068bc2ecd8737a8bcc464475fd9355a0f28
      
https://github.com/Perl/perl5/commit/7f216068bc2ecd8737a8bcc464475fd9355a0f28
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M iperlsys.h

  Log Message:
  -----------
  iperlsys.h: TODO need to look at adding mutexes


  Commit: 78eadcf4094f0d367df6ba67fea852d77a0beb2a
      
https://github.com/Perl/perl5/commit/78eadcf4094f0d367df6ba67fea852d77a0beb2a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M regen/reentr.pl

  Log Message:
  -----------
  reentr.pl: XXX about needing mutex


  Commit: 4bac808fd76bd2b3a282cc09490f6363553d24e4
      
https://github.com/Perl/perl5/commit/4bac808fd76bd2b3a282cc09490f6363553d24e4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod
    M pod/perlembed.pod
    M pod/perlhacktips.pod
    M pod/perllocale.pod
    M t/porting/known_pod_issues.dat

  Log Message:
  -----------
  perlxs


  Commit: 052cb055f06c1273341607dd2868ab93f8e9ceda
      
https://github.com/Perl/perl5/commit/052cb055f06c1273341607dd2868ab93f8e9ceda
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M pod/perlmod.pod

  Log Message:
  -----------
  perlmod


  Commit: 4812b15983a46a97a996c4c8aabe048b70aaa72f
      
https://github.com/Perl/perl5/commit/4812b15983a46a97a996c4c8aabe048b70aaa72f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M pod/perllocale.pod

  Log Message:
  -----------
  perllocale Xxx start of changes


  Commit: 62d1b12e3bb5eb8284e78dbff2a463beb8b17488
      
https://github.com/Perl/perl5/commit/62d1b12e3bb5eb8284e78dbff2a463beb8b17488
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M win32/config_H.gc
    M win32/config_h.PL
    M win32/config_sh.PL

  Log Message:
  -----------
  XXX config


  Commit: fa624eff327bb9ed41b8c87bbc8834fd7c6459c4
      
https://github.com/Perl/perl5/commit/fa624eff327bb9ed41b8c87bbc8834fd7c6459c4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/run/locale.t

  Log Message:
  -----------
  XXX t/run/locale.t


  Commit: 1689ddbaae1c17cb04dc94ff6ada1b05a9ca60a8
      
https://github.com/Perl/perl5/commit/1689ddbaae1c17cb04dc94ff6ada1b05a9ca60a8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M pod/perlembed.pod

  Log Message:
  -----------
  f perlembed


  Commit: d19276d20a55dd2b8b293c2b85937d151cbb176d
      
https://github.com/Perl/perl5/commit/d19276d20a55dd2b8b293c2b85937d151cbb176d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M intrpvar.h
    M locale.c
    M perl.h

  Log Message:
  -----------
  Fixup FAKE_MINGW

This is used (by me) to partially emulate MingW on a *nix platform.  It
was passing all its tests, but I discovered that I had the wrong #if
which was hence not enabling crucial parts of the emulation.


  Commit: 9e35d7fe6adab6957df0ae671b31c239f2647b07
      
https://github.com/Perl/perl5/commit/9e35d7fe6adab6957df0ae671b31c239f2647b07
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  locale_threads: start of using platform locales


  Commit: a42e90f4b86a191211e8ee45529072e48b06c97b
      
https://github.com/Perl/perl5/commit/a42e90f4b86a191211e8ee45529072e48b06c97b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  Revert "locale_threads: start of using platform locales"

This reverts commit a7a8dea3aabb81a05aacaf3a26c49854a5854111.


  Commit: 0bc3887ffb8f20eb00f1bb91c3ea3d647b76e125
      
https://github.com/Perl/perl5/commit/0bc3887ffb8f20eb00f1bb91c3ea3d647b76e125
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c
    M perl.c
    M sv.c

  Log Message:
  -----------
  define numeric values to be C when no USE_NUMERIC


  Commit: 1458f89af1d4615d5414c7e9443cacc0cf3dcab1
      
https://github.com/Perl/perl5/commit/1458f89af1d4615d5414c7e9443cacc0cf3dcab1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c
    M perl.c
    M sv.c

  Log Message:
  -----------
  Revert "define numeric values to be C when no USE_NUMERIC"

This reverts commit 9bb7ff6531bf9e28d635a71e6d55c752a995da2d.


  Commit: b034e154367f775af7a5916e00cd13e92496ea1e
      
https://github.com/Perl/perl5/commit/b034e154367f775af7a5916e00cd13e92496ea1e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Add #define to separate label from declaration

This is designed to be mostly self-documenting.


  Commit: 10fd5087f7508956903ae9f77d7456b875c8dc8b
      
https://github.com/Perl/perl5/commit/10fd5087f7508956903ae9f77d7456b875c8dc8b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  rulereeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee


  Commit: 6c8b98fc4f0ba9f25eaea80702fedf24ffcf718e
      
https://github.com/Perl/perl5/commit/6c8b98fc4f0ba9f25eaea80702fedf24ffcf718e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M embed.h
    M locale.c
    M proto.h

  Log Message:
  -----------
  locale.c: Silence compiler warning

This tightens when this function is compiled to the actual
Configurations it is needed in.


  Commit: 7b3afdbf246da6264237f1363dd84bdc90cc29ad
      
https://github.com/Perl/perl5/commit/7b3afdbf246da6264237f1363dd84bdc90cc29ad
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  C_thous better ifdef


  Commit: c1063710d0caf72c0fcc4b3f30982d8d71cd84df
      
https://github.com/Perl/perl5/commit/c1063710d0caf72c0fcc4b3f30982d8d71cd84df
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M ext/POSIX/t/posix.t
    M ext/POSIX/t/time.t
    M ext/XS-APItest/t/locale.t
    M lib/locale.t
    M lib/locale_threads.t

  Log Message:
  -----------
  skip tests if no strftime


  Commit: 8f6abbbd24cc417bdc70c2e4e5b599486b0a44a6
      
https://github.com/Perl/perl5/commit/8f6abbbd24cc417bdc70c2e4e5b599486b0a44a6
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M t/loc_tools.pl

  Log Message:
  -----------
  loctools use if dumper


  Commit: f616d728ee1d9292b76ef22bcf892a38a1c2c0c3
      
https://github.com/Perl/perl5/commit/f616d728ee1d9292b76ef22bcf892a38a1c2c0c3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale.t

  Log Message:
  -----------
  XXX lib/locale.t dont scan for LC_NUMERIC


  Commit: 06c943a29e331d767b2c150d95a6f30d0bb51979
      
https://github.com/Perl/perl5/commit/06c943a29e331d767b2c150d95a6f30d0bb51979
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M ext/POSIX/lib/POSIX.pod

  Log Message:
  -----------
  start of pod for localeconv


  Commit: c27ed1bf3755590bb1260ddf5bc1200ebc1cec32
      
https://github.com/Perl/perl5/commit/c27ed1bf3755590bb1260ddf5bc1200ebc1cec32
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Add struct definition as a fallback

If we ever encountered a platform that didn't have localeconv(), nor its
structure definition, this could be used to get things to work.


  Commit: eda7265fd3e36376574ac20481a3a79771885a0e
      
https://github.com/Perl/perl5/commit/eda7265fd3e36376574ac20481a3a79771885a0e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  debug populate localeconv


  Commit: 975f026e4f4790cc1b160ff1eaecb6216a813fdf
      
https://github.com/Perl/perl5/commit/975f026e4f4790cc1b160ff1eaecb6216a813fdf
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M dist/threads/threads.xs

  Log Message:
  -----------
  debug thread xs


  Commit: 66d322659a689c6ac39e6a539fae86f2693d19cb
      
https://github.com/Perl/perl5/commit/66d322659a689c6ac39e6a539fae86f2693d19cb
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  lib/locale_threads.t: Change variable names

Using 'set' as opposed to 'group' is clearer.


  Commit: 81eb2f62526fe14f9ebd08a8243fc59cc94793d8
      
https://github.com/Perl/perl5/commit/81eb2f62526fe14f9ebd08a8243fc59cc94793d8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  lib/locale_threads.t: Add debugging info


  Commit: e62b5bb25c1801ce68e67234809f974ad944ce28
      
https://github.com/Perl/perl5/commit/e62b5bb25c1801ce68e67234809f974ad944ce28
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M embed.h
    M proto.h

  Log Message:
  -----------
  locale.c: Don't compile unused function

Since 0b52bb633d8c55bb15f05cdb19a4b7cb071ea271, this function isn't used
unless localeconv() is available.  Don't compile it unless that is true.


  Commit: 6c42c7ddc0f48b092d0566c8bc868bbfc5ffbe29
      
https://github.com/Perl/perl5/commit/6c42c7ddc0f48b092d0566c8bc868bbfc5ffbe29
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M embed.h
    M proto.h
    M sv.c

  Log Message:
  -----------
  Add newSVpvz() to create a sized SvPV.

There's no current trivial method to create a non-zero length  SV that
will hold a PV.


  Commit: dc2cbaf1ceaabd7034b6d4caaa88a868f9444d2a
      
https://github.com/Perl/perl5/commit/dc2cbaf1ceaabd7034b6d4caaa88a868f9444d2a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Call newSVpvz()


  Commit: 803dfe5b00201dc349018071220ad7ffec185f97
      
https://github.com/Perl/perl5/commit/803dfe5b00201dc349018071220ad7ffec185f97
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Each toggle locale must have matching restore

The next commit will want this symmetry, which until now hasn't
mattered.


  Commit: debf182252e358cc056f0c3cbe4fdefe559afc9e
      
https://github.com/Perl/perl5/commit/debf182252e358cc056f0c3cbe4fdefe559afc9e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Use a critical section when locale is toggled

Sometimes the locale for a category has to be toggled to some other
locale, when the desired value is for a locale that isn't the current
one.

This doesn't present any problem when locales are thread-safe.  The
locale gets toggled back before any other work is done.

But when locales are not thread-safe and we have threads, another thread
can execute in the now-wrong locale.  Perl, for a few releases now,
tries to mitigate the issues with running locales under threads when
yhread-safe locales are not in use, for mitigations that are easy to do.
These very well may make things work for applications that don't change
locales very much; say only on startup.

But now perl itself changes locales briefly behind an application's
back.  It turns out it is easy to add a lock that will keep threads that
otherwise would work to continue to work.

That's what this commit does, by adding TOGGLE_LOCK and TOGGLE_UNLOCK
macros that are no-ops for all but the unsafe-threaded locale
implementation.

The unused parameter to the macros is for future use.


  Commit: 2835181d5a38649305af72f8efb498de6962555a
      
https://github.com/Perl/perl5/commit/2835181d5a38649305af72f8efb498de6962555a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move unnecessary work out of toggled state

In some Configurations, toggling the locale can interfere with other
executing threads.  As of GH #21908, the current Configurations where
this is true are critical sections.  This commit takes one such place
and moves unnecessary work to outside the critical section/toggled
locale.

The downside of this change is that we may have to retoggle to the
locale later in the called function get_locale_string_utf8ness_i(),
which may call is_locale_utf8().  This would be wasted effort in those
Configurations where toggling doesn't interfere, but often the toggling
is avoided, in part because of caching, and in part because the most
frequent calls to this function result in ASCII data which don't require
toggling.

A scheme could be created to avoid any such possibility, but I don't
think it's worth it.


  Commit: cab4e6608a2533a9c393d85a2320062d8f943447
      
https://github.com/Perl/perl5/commit/cab4e6608a2533a9c393d85a2320062d8f943447
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Swap the order of two functions

The new ordering will make the diffs less in the next commit, and will
make just as much sense going forward as the previous ordering.


  Commit: 8463b13361c1d430fbed1072f16af1d201b7ba96
      
https://github.com/Perl/perl5/commit/8463b13361c1d430fbed1072f16af1d201b7ba96
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M embed.h
    M locale.c
    M proto.h

  Log Message:
  -----------
  locale.c: Pass locale to strftime functions

This will allow a future commit to reduce the amount of time spent in a
critical section.

It requires the least duplication of code for this commit to create a
new function sv_strftime_common() which takes over the bulk of the code
from sv_strftime_tm(), which becomes just a small wrapper.  The new
function adds a 'locale' parameter, and the other functions that now
need to know the locale get it, and then call this new function.


  Commit: 85b52efa5998fce6990e14d5c3bdd76abfe0be82
      
https://github.com/Perl/perl5/commit/85b52efa5998fce6990e14d5c3bdd76abfe0be82
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Shorten critical section times

Toggling a category's locale has a cost, so if there are a bunch of
operations that are going to be done in a row in a particular toggled
state, it makes sense to toggle once, do them all, then toggle back.
Most of the toggling in this file is short term, but there are a few
places where it is advantageous to toggle once.

But on some Configurations, toggling creates a critical, uninterruptible
section.  For these, keeping the amount of time spent in such a state
without letting other threads execute needs to be as short as feasible,
and this outweighs the cost of toggling and retoggling.

This commit balances these competing needs by creating new macros for
those cases where we want to have an overarching toggle.  Those macros
become no-ops when the toggling creates an uninterruptible section.
Thus, when there is a cost to remaining toggled for longer periods,
those macros don't do anything, and the macros that are at the point of
the actual need are the ones that do the toggling/retoggling.  In the
Configurations where there isn't such a cost, the overarching macros
kick in, and the shorter-term ones find that the state is already
toggled, and they return without doing anything.


  Commit: 587d30a6e386bdff0f067f2563454a60e60d8026
      
https://github.com/Perl/perl5/commit/587d30a6e386bdff0f067f2563454a60e60d8026
  Author: Lukas Mai <lukasmai....@gmail.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: use type-agnostic code for storing tm_zone

On some platforms, struct tm has a tm_zone member, but its type is not
consistent:

 - Linux: const char *tm_zone;
 - FreeBSD (& probably other BSDs): char *tm_zone;

In order to save/restore tm_zone, we can't just use a "const char *" or
"char *" variable because different parts of this code would always be a
const violation on one platform or the other.

Workaround: Use the tm_zone member of a full struct tm, which has the
right type no matter the platform.

Fixes #21948.


  Commit: 092f111ae12b126e384ca36d2db9b4799504dc99
      
https://github.com/Perl/perl5/commit/092f111ae12b126e384ca36d2db9b4799504dc99
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  Add DEBUG_SETLOCALE_INCONSISTENCIES


  Commit: b9501e0417a4366288fe317153ba8d90a7230dd9
      
https://github.com/Perl/perl5/commit/b9501e0417a4366288fe317153ba8d90a7230dd9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  Enable DEBUG_SETLOCALE_INCONSISTENCIES


  Commit: 53aa0241b888b75ee81c9f0eaed998c5bdd059d3
      
https://github.com/Perl/perl5/commit/53aa0241b888b75ee81c9f0eaed998c5bdd059d3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Make numeric standard inconsistent


  Commit: d781a3eea7240ba712cf4abf9ed8352aef89001e
      
https://github.com/Perl/perl5/commit/d781a3eea7240ba712cf4abf9ed8352aef89001e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M embed.h
    M embedvar.h
    M handy.h
    M inline.h
    M intrpvar.h
    M locale.c
    M makedef.pl
    M mg.c
    M perl.c
    M perl.h
    M pod/perlvar.pod
    M proto.h
    M sv.c

  Log Message:
  -----------
  Add ability to emulate thread-safe locale operations

Locale information was originally global for an entire process.  Later,
it was realized that different threads could want to be running in
different locales.  Windows added this ability, and POSIX 2008 followed
suit (though using a completely different API).  When available, perl
automatically uses these capabilities.

But many platforms have neither, or their implementation, such as on
Darwin, is buggy.  This commit adds the capability for Perl programs to
operate as if the platform were thread-safe.

This implementation is based on the observation that the underlying
locale matters only to relatively few libc calls, and only during their
execution.  It can be anything at all at any other time.  perl keeps
what the proper locale should be for each category in a a per-thread
array.  Each locale-dependent operation must be wrapped in mutex
lock/unlock operations.  The lock additionally compares what libc knows
the locale to be, and what it should be for this thread at this time,
and changes the actual locale to the proper value if necessary.  That's
all that is needed.

This commit adds macros to perl.h, for example "MBTOWC_LOCK_", that
expand to do the mutex lock, and change the global locale to the
expected value.  On perls built without this emulation capability, they
are no-ops.  All code in the perl core (unless I've missed something),
are changed to use these macros (there weren't actually many places that
needed this).  Thus, any pure perl program will automatically become
locale-thread-safe under this Configuration.

In order for XS code to also become locale-thread-safe, it must use
these macros to wrap calls to locale-dependent functions.  Relatively
few modules call such functions.  For example, the only one I found that
ships with the perl core is Time::Piece, and it has more fundamental
issues with running under threads than this.  I am preparing pull
requests for it.

Thus, this is not completely transparent to code like native-thread-safe
locale handling is.  Therefore ${^SAFE_LOCALES} returns 2 (instead of 1)
for this type of thread-safety.

Another deficiency compared to the native thread safety is when a thread
calls a non-perl library that accesses the locale.  The typical example is
Gtk (though this particular application can be configured to not be
problematic).  With the native safe threads, everything works as long as
only one such thread is used per Perl program.  That thread would then
be the only one operating in the global locale, hence there are no
conflicts.  With this emulation, all threads are operating in the global
locale, and mutexes would have to be used to prevent conflicts.  To
minimize those, the code added in this commit restores the global locale
when through to the state it was in when started.

A major concern is the performance impact.  This is after all trading
speed for accuracy.  lib/locale_threads.t is noticeably slower when this
is being used.  But that is doing multiple threads constantly using
locale-dependent operations.  I don't notice any change with the rest of
the test suite.  In pure perl, this only comes into play while in the
scope of 'use locale' or when using some of the few POSIX:: functions
that are locale-dependent.  And to some extent when formatting, but the
regular overhead there should dwarf what this adds.

This commit leaves this feature off by default.  The next commit changes
that for the next few 5.39 development releases, so we can see if there
is actually an issue.


  Commit: e3a1df80aeef7e0ead62b4837eba4c5447d0907e
      
https://github.com/Perl/perl5/commit/e3a1df80aeef7e0ead62b4837eba4c5447d0907e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  DEBUG Lv to U


  Commit: 6d1fe0fb873a68aaebec880802015053d6526718
      
https://github.com/Perl/perl5/commit/6d1fe0fb873a68aaebec880802015053d6526718
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  extra debug


  Commit: 562d6e6da47df5e4f0b62714f3c23d92c42b0241
      
https://github.com/Perl/perl5/commit/562d6e6da47df5e4f0b62714f3c23d92c42b0241
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  f some emul old implement


  Commit: 4f8effedf894aa71a772f1044e88ae3d3b305da3
      
https://github.com/Perl/perl5/commit/4f8effedf894aa71a772f1044e88ae3d3b305da3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  more emul locks


  Commit: 04436385f9f03b8b98ae20462d2d04c03f86119c
      
https://github.com/Perl/perl5/commit/04436385f9f03b8b98ae20462d2d04c03f86119c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Revert "more emul locks"

This reverts commit 4733a1674423ee47b33eb0ee1882e1bf39faa1a6.


  Commit: 60a322c964cf2565e3c6d6e9bd956340433c8fc3
      
https://github.com/Perl/perl5/commit/60a322c964cf2565e3c6d6e9bd956340433c8fc3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  langinfo lock


  Commit: caa9a40207261850e3836afc709f19e923c12f2c
      
https://github.com/Perl/perl5/commit/caa9a40207261850e3836afc709f19e923c12f2c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Revert "langinfo lock"

This reverts commit acaff35d7ed83830fb36c149aafede5cdf400061.


  Commit: b6547d0d9b4f61353d07d3f4a0adcd60f74c5709
      
https://github.com/Perl/perl5/commit/b6547d0d9b4f61353d07d3f4a0adcd60f74c5709
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  lock mask


  Commit: f2e2e339d2201ca9f9fa5275f314ab9c0578e405
      
https://github.com/Perl/perl5/commit/f2e2e339d2201ca9f9fa5275f314ab9c0578e405
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Revert "lock mask"

This reverts commit 3fd528c9d5d5b9c05dc1c697e61570b81811fb95.


  Commit: 1374627d03ee6c5b1c54d50cbdeb9d957ca3b766
      
https://github.com/Perl/perl5/commit/1374627d03ee6c5b1c54d50cbdeb9d957ca3b766
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Maybe comment'


  Commit: ac6f7cf6a099a3005ecd0f8af655f00cdc1ede88
      
https://github.com/Perl/perl5/commit/ac6f7cf6a099a3005ecd0f8af655f00cdc1ede88
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  emul assertion


  Commit: 0522a75b96e6702da1ba90fa7f1c4652ea1b9eac
      
https://github.com/Perl/perl5/commit/0522a75b96e6702da1ba90fa7f1c4652ea1b9eac
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c
    M makedef.pl

  Log Message:
  -----------
  Experimentally enable per-thread locale emulation

This is set to end in 5.39.10, but will give us field experience in the
meantime.


  Commit: 66a68a3911c12df84eda68fac9e3a1972dd21b86
      
https://github.com/Perl/perl5/commit/66a68a3911c12df84eda68fac9e3a1972dd21b86
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M makedef.pl
    M perl.h

  Log Message:
  -----------
  Don't do thread-safe locales emulation on mingw

MingW when compiled with the Universal C runtime (UCRT) is thread-safe
with respect to locales, just as VS 2015 and later MSVCRT compilations
are.

However, versions not using UCRT cannot be compiled to emulate
thread-safe locale.  I'm pretty sure this is due to a bug in the libc
strftime() function, having spent a bunch of hours working on this.

It often fails lib/locale_threads.t when using the emulation, but not
always.  The failure is always in strftime().

What made me think it could be perl is another characteristic of the
failures.  lib/locale_threads.t works by, in each thread, setting each
available locale category to a locale, different from any other category
in that thread, and as different as possible from the locale for the
corresponding category in any other thread.  For example thread 0 might
have LC_CTYPE set to locale X, LC_NUMERIC to Y, LC_TIME to Z, etc.
Thread 1 would use a locale for LC_CTYPE, as different from X as
possible, meaning executing the same operation on thread 0 and thread 1
would yield different expected results.  (It goes to some lengths to
calculate the biggest distance in the results.)  Similarly LC_NUMERIC
would have something almost completely different from Y; and so on.

Then each thread executes a batch of iterations.  Each iteration runs
all the operations I could find that perl uses that apply to LC_TYPE,
and all the ones that apply to each of the other categories.  And
verifies that all the results are as expected.

Simultaneously, the other threads are executing their batch.  It is
verifying that there is no bleed-through from one thread to another.  If
the threads all have the same results as the other threads, we couldn't
detect if there is real bleed-through or not.  This is solved by making
the results for each category as different as possible from any other
thread currently executing.

However, this isn't good enough.  Every so many iterations, each thread
changes to use a new set of locales.  This verifies that the locales can
be changed in a thread without that bleeding through to other threads.

And thread 0 is special.  It harvests the other threads as they finish,
and keeps going for a while.  This is to catch bugs in thread
completion, of which we've had a few.

MingW's failures all occur, when they occur, on the first iteration
following a switch to a new set of locales.  That is suspiciously like
it is a race condition in cleaning up from the previous setting.  But it
isn't the first test of the set of the first iteration of the next set.
It can be the 10th or so test.  I added enough debugging statements to
convince me that it isn't perl.

This is the failing code in locale.c:

        STRFTIME_LOCK;
        int len = strftime(buf, bufsize, fmt, mytm);
        STRFTIME_UNLOCK;

The returned 'buf' is not always correct.
T
The LOCK/UNLOCK macros on MingW with thread-safe emulation enabled, call
EnterCriticalSection(), and set the locales for the categories that
affect strftime() to the proper locale.  Just to be sure. I tested
setting LC_ALL to the correct value.  While in its uninterruptible (by
other locale handling code anyway) section, strftime() fills buf with
the result for the current locale (which STRFTIME_LOCK has set).

I added print statements within the critical section thusly

        STRFTIME_LOCK;
        DEBUG_U(PerlIO_printf(Perl_debug_log,
                              "calling strftime(%s), LC_ALL=%s\n",
                              fmt, setlocale(LC_ALL, NULL)));
        int len = strftime(buf, bufsize, fmt, mytm);
        DEBUG_U(PerlIO_printf(Perl_debug_log,
                              "return=%s, LC_ALL=%s\n",
                              buf, setlocale(LC_ALL, NULL)));
        STRFTIME_UNLOCK;

On this platform, setlocale() expands to _wsetlocale(), a Windows libc
call.

Here's what they showed for one failure.

        calling strftime(%b), LC_ALL=Hungarian_Hungary.1250
        return=marc., LC_ALL=Hungarian_Hungary.1250

The 'a' in the Hungarian for March is supposed to be a U+00E1, with an
acute accent, so this is wrong.

strftime() also is passed a pointer to a struct tm, which is filled in
with various integers which indicate in this case which month the %b is
supposed to return.  That it is returning something very much like márch
indicates those integers are correct.

Not shown in the example above are the other prints I added to verify
that we are indeed in a critical section.  I didn't see a way to
actually test for this via a libc call, but one could use strace and
wade through the output.  But there are print statements that print out
immediately before entering a critical section, and immediately after
leaving it.  I verified that those prints indicate this code is in a
critical section.

I note that this box has actually not very many locales, so that the
distance between the results of various threads isn't all that large.
Pretty much all the locales are CP 1250, 1251, 1252, and 1257, and no
UTF-8 ones, so all locales are single byte.  None of them map \XE1 into
plain 'a', which is what we are seeing returned, so the cleanup theory
seems wrong.  Sometimes the return is '?' or a series of them,
indicating that the returned character is mojibake.

None of the locales I saw had 'marc\.' as a possible return.  It appears
only here in the entire trace of all threads.  This makes it again less
likely that it is a cleanup issue.  But where did it come from?.  I
don't know.  The value for the C locale is 'Mar', so it didn't come from
there.

The localeconv() function is also broken in this Configuration.  We long
ago figured out a workaround for that.  I tried that same workaround for
strftime(), and it didn't help.


  Commit: 6b84b3801fb61d4a1ef99daf63115d68216452f2
      
https://github.com/Perl/perl5/commit/6b84b3801fb61d4a1ef99daf63115d68216452f2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M makedef.pl
    M perl.h

  Log Message:
  -----------
  Revert "Don't do thread-safe locales emulation on mingw"

This reverts commit 4e4dfa1146e1f389110d001587ccb0fadec4323b.


  Commit: b96f92f1656fb5856e4b85607ecda814773a2063
      
https://github.com/Perl/perl5/commit/b96f92f1656fb5856e4b85607ecda814773a2063
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  XXX perl.h maybe drop


  Commit: 1addb5f671eacb5c359993dbf9ccad8aef0866d5
      
https://github.com/Perl/perl5/commit/1addb5f671eacb5c359993dbf9ccad8aef0866d5
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M makedef.pl

  Log Message:
  -----------
  makedef.pl: PL_cur_locale_obj is only POSIX 2008 multiplicity


  Commit: 607951f5bec1c67434618540e6770d64ad0d35a2
      
https://github.com/Perl/perl5/commit/607951f5bec1c67434618540e6770d64ad0d35a2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  locale_threads.t: Better handle weird locales

The previous code was generating bunches of uninitialized variable
warnings, due to 1) not checking for definedness early; 2) the loop
termination needs to be reevaluated each time because there is a
potential splice, shortening the array.

This only happens, I believe, on MingW not using UCRT.


  Commit: e3051c97990097eea24fdcd30b440c85097ba2cf
      
https://github.com/Perl/perl5/commit/e3051c97990097eea24fdcd30b440c85097ba2cf
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  Revert "locale_threads.t: Skip on OpenBSD and DragonFly threaded builds"

This reverts commit 1d74e8214dd53cf0fa9e8c5aab3e6187685eadcd, as they
have been modified


  Commit: f784324e266cce26d3b35ce1dfef639b8f9fd442
      
https://github.com/Perl/perl5/commit/f784324e266cce26d3b35ce1dfef639b8f9fd442
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Debug uselocale


  Commit: 75d45f247d51a69a85fc78238c84acad38963a1a
      
https://github.com/Perl/perl5/commit/75d45f247d51a69a85fc78238c84acad38963a1a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  pp_study: hook


  Commit: 57a07e8003cfd3e85721e312554bb2c9f84f0308
      
https://github.com/Perl/perl5/commit/57a07e8003cfd3e85721e312554bb2c9f84f0308
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M sv.c

  Log Message:
  -----------
  sv.c need to check for pv in sv in sv_setpvf


  Commit: 29f3baf9ce358f7ee7abe03e4024cc574e4ebb17
      
https://github.com/Perl/perl5/commit/29f3baf9ce358f7ee7abe03e4024cc574e4ebb17
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M sv.c

  Log Message:
  -----------
  perlapi: Add detail to sv_setpv_bufsize()


  Commit: da3e7594fa27e3f5769d427afc1a392fae46ca71
      
https://github.com/Perl/perl5/commit/da3e7594fa27e3f5769d427afc1a392fae46ca71
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  locale mutexes: Win32 are general without simulating

We can get rid of the simulation needed for other platforms.


  Commit: b1c2e54d1485a2ea41505b86e75136b240c9eb43
      
https://github.com/Perl/perl5/commit/b1c2e54d1485a2ea41505b86e75136b240c9eb43
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  White


  Commit: a8a3bbf236f9c4c42eb9523a82dc1e24997b99c0
      
https://github.com/Perl/perl5/commit/a8a3bbf236f9c4c42eb9523a82dc1e24997b99c0
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  fundamental


  Commit: b22063f1249ab21784278458e44bc8ce2df30178
      
https://github.com/Perl/perl5/commit/b22063f1249ab21784278458e44bc8ce2df30178
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M embed.h
    M locale.c
    M proto.h

  Log Message:
  -----------
  immediate use


  Commit: c93c7a5ca2397055b0db311f58a83bd5505f49c3
      
https://github.com/Perl/perl5/commit/c93c7a5ca2397055b0db311f58a83bd5505f49c3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  more immed


  Commit: 40c6f61f0d774702e125110569df40967b388267
      
https://github.com/Perl/perl5/commit/40c6f61f0d774702e125110569df40967b388267
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M embed.fnc
    M embed.h
    M locale.c
    M proto.h

  Log Message:
  -----------
  add is_cur_locale_utf8


  Commit: f729c8a5b2c1edf564b821d8d265f0c6d4b6e35b
      
https://github.com/Perl/perl5/commit/f729c8a5b2c1edf564b821d8d265f0c6d4b6e35b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  move subs around


  Commit: d9b7bf58f3ab2d4cbec9487945efbe7b2ab548d2
      
https://github.com/Perl/perl5/commit/d9b7bf58f3ab2d4cbec9487945efbe7b2ab548d2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Comments, white space


  Commit: 06c5303846c812ddc56409ed274ec4fcde370524
      
https://github.com/Perl/perl5/commit/06c5303846c812ddc56409ed274ec4fcde370524
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  MULT


  Commit: ba03954c15ea02a7d632e5bfd13ab8af186f058c
      
https://github.com/Perl/perl5/commit/ba03954c15ea02a7d632e5bfd13ab8af186f058c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  final


Compare: https://github.com/Perl/perl5/compare/ca693a0cbfce...ba03954c15ea

Reply via email to