Branch: refs/heads/smoke-me/khw-env
  Home:   https://github.com/Perl/perl5
  Commit: 3b265980df2371a10c1d9cec35f72ea9df6fff44
      
https://github.com/Perl/perl5/commit/3b265980df2371a10c1d9cec35f72ea9df6fff44
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 6e06d90af35c07b848848ee308c958efeecae39c
      
https://github.com/Perl/perl5/commit/6e06d90af35c07b848848ee308c958efeecae39c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: d816a7e00e5c50dcb5c4f0315c138c7a14c59ce4
      
https://github.com/Perl/perl5/commit/d816a7e00e5c50dcb5c4f0315c138c7a14c59ce4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

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

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


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

  Changed paths:
    M t/harness

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


  Commit: 933253d348597db5469341a2757cc2a5b373897a
      
https://github.com/Perl/perl5/commit/933253d348597db5469341a2757cc2a5b373897a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/harness

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


  Commit: 467adb8f433a2de7ab9ed71ca319405ebf93e201
      
https://github.com/Perl/perl5/commit/467adb8f433a2de7ab9ed71ca319405ebf93e201
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/porting/bincompat.t

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


  Commit: 5ba58ca7feeefdab8147ecfdc43d575911eab609
      
https://github.com/Perl/perl5/commit/5ba58ca7feeefdab8147ecfdc43d575911eab609
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/TEST

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


  Commit: 36e862998783e281e5ed232652ae3f9e97c37246
      
https://github.com/Perl/perl5/commit/36e862998783e281e5ed232652ae3f9e97c37246
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/TEST

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


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

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

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


  Commit: 8054e5e434028f39df2d8d5a21a47c6add06c474
      
https://github.com/Perl/perl5/commit/8054e5e434028f39df2d8d5a21a47c6add06c474
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/porting/cmp_version.t

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


  Commit: c366ab0f0aded5b331ac07f6155654f3d0c102b6
      
https://github.com/Perl/perl5/commit/c366ab0f0aded5b331ac07f6155654f3d0c102b6
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 4cc7ce8db816cdd5a4be74382662615a4f5f02e8
      
https://github.com/Perl/perl5/commit/4cc7ce8db816cdd5a4be74382662615a4f5f02e8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 391d3c1c3ffa60580f39a9124ba3c1dcf647dc6f
      
https://github.com/Perl/perl5/commit/391d3c1c3ffa60580f39a9124ba3c1dcf647dc6f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 61fd3ef7f1950e8be3e1ec31cb1a23c71c357b40
      
https://github.com/Perl/perl5/commit/61fd3ef7f1950e8be3e1ec31cb1a23c71c357b40
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/run/locale.t

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


  Commit: 06d58610558e96f041554804b9f7e38359f0d0d2
      
https://github.com/Perl/perl5/commit/06d58610558e96f041554804b9f7e38359f0d0d2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 486fbba3fe73f33ff300f6b5fec5d8b37698dedb
      
https://github.com/Perl/perl5/commit/486fbba3fe73f33ff300f6b5fec5d8b37698dedb
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M perl.h

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


  Commit: 76e7ab064424f7cc6857adda8a26b0b2863963ab
      
https://github.com/Perl/perl5/commit/76e7ab064424f7cc6857adda8a26b0b2863963ab
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/run/locale.t

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


  Commit: 1ea88896c59c9ff9147a4589777c4e53ee52fd76
      
https://github.com/Perl/perl5/commit/1ea88896c59c9ff9147a4589777c4e53ee52fd76
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 4328639e641f936acd275ae0aa968b4d30672abb
      
https://github.com/Perl/perl5/commit/4328639e641f936acd275ae0aa968b4d30672abb
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: ca2bf3fe2a85a1610fad5ccfe095385e3fa797ae
      
https://github.com/Perl/perl5/commit/ca2bf3fe2a85a1610fad5ccfe095385e3fa797ae
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 19234afd71733c76ec97be884f9ed8261beaae6c
      
https://github.com/Perl/perl5/commit/19234afd71733c76ec97be884f9ed8261beaae6c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M makedef.pl
    M perl.h

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


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

  Changed paths:
    M perl.h

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


  Commit: 990042cee2bed027765a548ccc0657ec2ac4d376
      
https://github.com/Perl/perl5/commit/990042cee2bed027765a548ccc0657ec2ac4d376
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 3a08b7cff2f0529bf1f3db0d3d4a0d5cfa7e7314
      
https://github.com/Perl/perl5/commit/3a08b7cff2f0529bf1f3db0d3d4a0d5cfa7e7314
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 07b298e7c480e4a33f1f8eebead49479a5a3619a
      
https://github.com/Perl/perl5/commit/07b298e7c480e4a33f1f8eebead49479a5a3619a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 04fe72b2fe4667324eb9757cd0fc75d15e6e9429
      
https://github.com/Perl/perl5/commit/04fe72b2fe4667324eb9757cd0fc75d15e6e9429
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 8e8157b46b80bf3873bd48f6a8ddc32db00176af
      
https://github.com/Perl/perl5/commit/8e8157b46b80bf3873bd48f6a8ddc32db00176af
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

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

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


  Commit: 28b2db26aabfcad730c91ee4221e8d67a5db2c09
      
https://github.com/Perl/perl5/commit/28b2db26aabfcad730c91ee4221e8d67a5db2c09
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

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

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


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

  Changed paths:
    M dist/threads/threads.xs

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


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

  Changed paths:
    M lib/locale.t

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


  Commit: 014feea37dc3c126274d00b8df409b7771d58cc5
      
https://github.com/Perl/perl5/commit/014feea37dc3c126274d00b8df409b7771d58cc5
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M lib/locale.t

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


  Commit: 17e9c6c53e14ecf858887115213ebe1f2411d42b
      
https://github.com/Perl/perl5/commit/17e9c6c53e14ecf858887115213ebe1f2411d42b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M lib/locale.t

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


  Commit: 923d8bf22c3b621cdf7c0d2dc8c12098f98ca32e
      
https://github.com/Perl/perl5/commit/923d8bf22c3b621cdf7c0d2dc8c12098f98ca32e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M perl.h

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


  Commit: 495cd76bad0839fb5f12b412a837497172bc7507
      
https://github.com/Perl/perl5/commit/495cd76bad0839fb5f12b412a837497172bc7507
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 4868790c37ee0e69d8c2a2ac0ebcf203cfbacf9c
      
https://github.com/Perl/perl5/commit/4868790c37ee0e69d8c2a2ac0ebcf203cfbacf9c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

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

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


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

  Changed paths:
    M t/porting/customized.dat

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


  Commit: 2e14f65beff6d5e8789773306f99f834b3186ab4
      
https://github.com/Perl/perl5/commit/2e14f65beff6d5e8789773306f99f834b3186ab4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: a5f432956190b3b513f1663ffe1d93a42cba7bae
      
https://github.com/Perl/perl5/commit/a5f432956190b3b513f1663ffe1d93a42cba7bae
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/loc_tools.pl

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


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

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

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


  Commit: 5cc514d63aa98b8cf1a1e9cb91d82846ed304d36
      
https://github.com/Perl/perl5/commit/5cc514d63aa98b8cf1a1e9cb91d82846ed304d36
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M hints/darwin.sh

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


  Commit: 267682ff543b5caa4884bc622c63751a8d52c38a
      
https://github.com/Perl/perl5/commit/267682ff543b5caa4884bc622c63751a8d52c38a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M pp.c

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


  Commit: 414f1d874f7eb002171a83b31cba3c548ea50fe2
      
https://github.com/Perl/perl5/commit/414f1d874f7eb002171a83b31cba3c548ea50fe2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M pp.c

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


  Commit: 63304ffd74b7ecc744fbfc4e969e7e22ffd2a21e
      
https://github.com/Perl/perl5/commit/63304ffd74b7ecc744fbfc4e969e7e22ffd2a21e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M hints/darwin.sh

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


  Commit: 75eb285f35fb651c977698ac890cc67cbb4cc4cc
      
https://github.com/Perl/perl5/commit/75eb285f35fb651c977698ac890cc67cbb4cc4cc
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: e820b6c07e9a96f2af3e3491c8cbaed86d242523
      
https://github.com/Perl/perl5/commit/e820b6c07e9a96f2af3e3491c8cbaed86d242523
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/run/locale.t

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


  Commit: 235a757bd356100935a587207520d275a94d820c
      
https://github.com/Perl/perl5/commit/235a757bd356100935a587207520d275a94d820c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

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


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

  Changed paths:
    M lib/locale_threads.t

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


  Commit: 78fbd3e388b1ec2d862dc49c0be4d557755f522c
      
https://github.com/Perl/perl5/commit/78fbd3e388b1ec2d862dc49c0be4d557755f522c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 583a12bb1b5e362a60e6b51b4862f9e3f3d0ebac
      
https://github.com/Perl/perl5/commit/583a12bb1b5e362a60e6b51b4862f9e3f3d0ebac
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 4b940ecc6f5cb6e72d8784d20cb9d09091db2551
      
https://github.com/Perl/perl5/commit/4b940ecc6f5cb6e72d8784d20cb9d09091db2551
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: f8a9acd720a770567d4e9dcb716b355fc1bd12f0
      
https://github.com/Perl/perl5/commit/f8a9acd720a770567d4e9dcb716b355fc1bd12f0
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M thread.h

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

Indent some nested preproccessor defines


  Commit: 5eda23a858ce46ef58eaa420b7640c947a4fc80e
      
https://github.com/Perl/perl5/commit/5eda23a858ce46ef58eaa420b7640c947a4fc80e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 1a17e60a38d3a8122030f7c210f8fdec9db99363
      
https://github.com/Perl/perl5/commit/1a17e60a38d3a8122030f7c210f8fdec9db99363
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

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

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


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

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

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


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

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

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


  Commit: 91c885aec5f6c7a87b3100fe73830e13d8fbd34a
      
https://github.com/Perl/perl5/commit/91c885aec5f6c7a87b3100fe73830e13d8fbd34a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M util.c

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


  Commit: 5a25807eaad85562e423435b1fef91de2bf4b91b
      
https://github.com/Perl/perl5/commit/5a25807eaad85562e423435b1fef91de2bf4b91b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M pod/perlhacktips.pod

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


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

  Changed paths:
    M iperlsys.h

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


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

  Changed paths:
    M regen/reentr.pl

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


  Commit: 0745d559a7eed00b5390e01e3b3ff7ddde016c6b
      
https://github.com/Perl/perl5/commit/0745d559a7eed00b5390e01e3b3ff7ddde016c6b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: c3c15c339e5080917e738b1b01a6ee858f61d6d2
      
https://github.com/Perl/perl5/commit/c3c15c339e5080917e738b1b01a6ee858f61d6d2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M pod/perlmod.pod

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


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

  Changed paths:
    M pod/perllocale.pod

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


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

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

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


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

  Changed paths:
    M t/run/locale.t

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


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

  Changed paths:
    M pod/perlembed.pod

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


  Commit: ddb3edec459c16e03f66f6b47e9f68b68325e90e
      
https://github.com/Perl/perl5/commit/ddb3edec459c16e03f66f6b47e9f68b68325e90e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: ead021b021e08d8848b72c80cc5103d4d0b25b47
      
https://github.com/Perl/perl5/commit/ead021b021e08d8848b72c80cc5103d4d0b25b47
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

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


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

  Changed paths:
    M lib/locale_threads.t

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

This reverts commit a7a8dea3aabb81a05aacaf3a26c49854a5854111.


  Commit: 6690de14afd6f7ece97ba0eb588f3caaff571d2c
      
https://github.com/Perl/perl5/commit/6690de14afd6f7ece97ba0eb588f3caaff571d2c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: a5c504f60ff22351af3f7bee9239801c37c6c7c7
      
https://github.com/Perl/perl5/commit/a5c504f60ff22351af3f7bee9239801c37c6c7c7
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 47ac352e5684500f4e93eb137031d23894074f93
      
https://github.com/Perl/perl5/commit/47ac352e5684500f4e93eb137031d23894074f93
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: d6933d9d7d7862eaddb0560039d97a6c544a717b
      
https://github.com/Perl/perl5/commit/d6933d9d7d7862eaddb0560039d97a6c544a717b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Avoid a copy

Using an else clause allows us to not make a copy.


  Commit: 6039fa3e8f4168efd4c02c0cc9075d6ae326d955
      
https://github.com/Perl/perl5/commit/6039fa3e8f4168efd4c02c0cc9075d6ae326d955
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 92e6c9a9b74d91133d6bacf65120ab6139be5388
      
https://github.com/Perl/perl5/commit/92e6c9a9b74d91133d6bacf65120ab6139be5388
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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


  Commit: 5426487f4b2e7ddc5a6fa4a536f57efe0312071b
      
https://github.com/Perl/perl5/commit/5426487f4b2e7ddc5a6fa4a536f57efe0312071b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 9b27761295f850f7b94e0c41dd7cfecfb5733d0d
      
https://github.com/Perl/perl5/commit/9b27761295f850f7b94e0c41dd7cfecfb5733d0d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M t/loc_tools.pl

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


  Commit: 3168bca97898c6a9b13e37170a1bcc46007ee0a4
      
https://github.com/Perl/perl5/commit/3168bca97898c6a9b13e37170a1bcc46007ee0a4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M lib/locale.t

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


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

  Changed paths:
    M hints/freebsd.sh
    M locale.c

  Log Message:
  -----------
  Avoid unnecessary mutex lock on Windows

It turns out that Windows since VS 2015 has a completely thread-safe
localeconv() function, with its result stored in a per-thread buffer.
MingW when built with the Universal C Run Time (UCRT) also has this
property.  These are the only implementations of localeconv() I know of
like this.

There is thus no need to have a critical section on these platforms.

This commit abstracts this, so that other platforms can be added if
found to be thread-safe.


  Commit: 23cee54d9ea82e19065c7c7b1a010c790739bacb
      
https://github.com/Perl/perl5/commit/23cee54d9ea82e19065c7c7b1a010c790739bacb
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  XXX msg: locale.c: Combine some more (WIn32) preprocessor directives


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: White space only


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Do simple adjustment in a critical section

This adjustment was deferred until after the critical section, but it is
only an extra conditional and variable set, whose time should be dwarfed
by the store to the hash, so I think it's all right to add it to the
critical section.


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Do localeconv() adjustments immediately unthreaded

localeconv() must be called and its struct processed in a critical
section when other threads or embedded perls could also be using it.
Something like StructCopy can't be used to save its values, as a deep
copy is needed.  Some of the processing can be expensive, so is deferred
to a separate pass after the critical section.

But if no critical section is needed, it's cheaper to do the processing
as we go along doing the copy.  A comment removed in this commit said
that the reason this wasn't done was because of an extra maintenance
cost (having to maintain the code in two places).  But when I actually
looked at what it would like like to do this, I found it is essentially
just an extra function call, not enough "extra" to worry about.


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

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

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


  Commit: df373f0eee590321a3f33f648daa012f77476ab4
      
https://github.com/Perl/perl5/commit/df373f0eee590321a3f33f648daa012f77476ab4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 355149d0f0db45210bb675f8fa5b1100fbb86a6c
      
https://github.com/Perl/perl5/commit/355149d0f0db45210bb675f8fa5b1100fbb86a6c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M dist/threads/threads.xs

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


  Commit: a5cb732438795675d1cd1a0ffcca2f984dd89306
      
https://github.com/Perl/perl5/commit/a5cb732438795675d1cd1a0ffcca2f984dd89306
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: b2c3c0fbfc3e39b1fe9ff9ded95bff47b9e223f9
      
https://github.com/Perl/perl5/commit/b2c3c0fbfc3e39b1fe9ff9ded95bff47b9e223f9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M lib/locale_threads.t

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


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Don't mortalize my_localeconv() for internal use

For external consumption, retain the mortalization; but for internal
explicitly decrement the reference count when done.


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

  Changed paths:
    M embed.fnc
    M embed.h
    M locale.c
    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: dc7bb0c17709636acb99982673598b5f9a5d9fae
      
https://github.com/Perl/perl5/commit/dc7bb0c17709636acb99982673598b5f9a5d9fae
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 62ef56274b8a8116c698d4be650aeb339662aea8
      
https://github.com/Perl/perl5/commit/62ef56274b8a8116c698d4be650aeb339662aea8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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


  Commit: d47c74d130c06b352ebdd19838d81c5142242b01
      
https://github.com/Perl/perl5/commit/d47c74d130c06b352ebdd19838d81c5142242b01
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: d86cca89f7e0be62559db03ac1bcd483c445aa38
      
https://github.com/Perl/perl5/commit/d86cca89f7e0be62559db03ac1bcd483c445aa38
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: eecfa781d24f41389aaf37d8321ca3052a7a6505
      
https://github.com/Perl/perl5/commit/eecfa781d24f41389aaf37d8321ca3052a7a6505
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Reword comment for clarity


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

  Changed paths:
    M lib/locale.t
    M locale.c

  Log Message:
  -----------
  Accept 0 for first alternate digit when no nl_langinfo()

Commit 85857715f96ef9f591dd5ca0322dc293e1f07867 allows a locale to have
an ASCII digit 0 to be the first alternate digit.  This is to
accommodate locales without a zero (such as Roman numerals) to use the
modern day Western 0, and still have the rest of the digits be
alternates.

This commit extends that to perl's emulation of nl_langinfo() on systems
that lack that libc function.


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  SvPV nomg


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  shorten_toggle


  Commit: 95bc8d341e40d48ca4990cfde0a361d6f27d33c3
      
https://github.com/Perl/perl5/commit/95bc8d341e40d48ca4990cfde0a361d6f27d33c3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: ff36a51e38a1659c4b28a62d37e7755b7a6059ca
      
https://github.com/Perl/perl5/commit/ff36a51e38a1659c4b28a62d37e7755b7a6059ca
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  querylocale

Maybe use C in the callers


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Revert "querylocale"

This reverts commit b6ea27aa76a1c8785e84df9a1a42f1a71dcc81e2.


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  toggle2


  Commit: 2338a3debb504be4fbfcb74afb535606998a77a4
      
https://github.com/Perl/perl5/commit/2338a3debb504be4fbfcb74afb535606998a77a4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M perl.h

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


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

  Changed paths:
    M perl.h

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


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

  Changed paths:
    M locale.c

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


  Commit: 4d7f361e60e456883e43f58fb530b3119e36ae8c
      
https://github.com/Perl/perl5/commit/4d7f361e60e456883e43f58fb530b3119e36ae8c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: c67e85c350a4f2d684aff70fe18d3098ccaa232c
      
https://github.com/Perl/perl5/commit/c67e85c350a4f2d684aff70fe18d3098ccaa232c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

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


  Commit: 7010af9d2c564b5bb4878620dcf579d4619879d7
      
https://github.com/Perl/perl5/commit/7010af9d2c564b5bb4878620dcf579d4619879d7
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

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

This reverts commit 4733a1674423ee47b33eb0ee1882e1bf39faa1a6.


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

  Changed paths:
    M locale.c

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


  Commit: 332f28e201a163ef1a092fb85e3ff268fe234942
      
https://github.com/Perl/perl5/commit/332f28e201a163ef1a092fb85e3ff268fe234942
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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

This reverts commit acaff35d7ed83830fb36c149aafede5cdf400061.


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

  Changed paths:
    M locale.c

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


  Commit: 962e45f641f4de9de324283a41b4eb05678f1f19
      
https://github.com/Perl/perl5/commit/962e45f641f4de9de324283a41b4eb05678f1f19
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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

This reverts commit 3fd528c9d5d5b9c05dc1c697e61570b81811fb95.


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

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

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


  Commit: 23cf04719bb91d1b8694d28b3ef6a895a17e72bd
      
https://github.com/Perl/perl5/commit/23cf04719bb91d1b8694d28b3ef6a895a17e72bd
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: fcd74b49ff42836af338ebf056868e56835f8c90
      
https://github.com/Perl/perl5/commit/fcd74b49ff42836af338ebf056868e56835f8c90
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 47287671139a2f780671ea15d6a92f3bb029ac58
      
https://github.com/Perl/perl5/commit/47287671139a2f780671ea15d6a92f3bb029ac58
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 76018c623baadf5786390f3ff7280c2f57fbfd65
      
https://github.com/Perl/perl5/commit/76018c623baadf5786390f3ff7280c2f57fbfd65
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M perl.h

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


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

  Changed paths:
    M makedef.pl

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


  Commit: 53f2d8499914b4ea37159ae95ea7d891545df819
      
https://github.com/Perl/perl5/commit/53f2d8499914b4ea37159ae95ea7d891545df819
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 2450559fcfc4ae5e97039cdf5564146970c86e98
      
https://github.com/Perl/perl5/commit/2450559fcfc4ae5e97039cdf5564146970c86e98
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: d633562e14156c5737aeec77af4f5a560c176c28
      
https://github.com/Perl/perl5/commit/d633562e14156c5737aeec77af4f5a560c176c28
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M pp.c

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


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

  Changed paths:
    M sv.c

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


  Commit: 59195a480572476d9584a6bbe36720044bafc46a
      
https://github.com/Perl/perl5/commit/59195a480572476d9584a6bbe36720044bafc46a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M sv.c

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


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

  Changed paths:
    M sv_inline.h

  Log Message:
  -----------
  Add comment to sv_setpv_freshbuf


  Commit: 8ce51a12a42294bc2bbc2adca8bd833074a743d9
      
https://github.com/Perl/perl5/commit/8ce51a12a42294bc2bbc2adca8bd833074a743d9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 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: 4b2af1cd0f97b6f1c26013b27d2fb3285f937cde
      
https://github.com/Perl/perl5/commit/4b2af1cd0f97b6f1c26013b27d2fb3285f937cde
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Two loop indices are confined to an enum

They don't take on all possible unsigned values.  Create a macro to do
the casting necessary for some compilers


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

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Use macro created in previous commit

This is a more general macro than these others, which can be rewritten
more simply in terms of it.


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

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: Clarify comment


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

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

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


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

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

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


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

  Changed paths:
    M locale.c

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


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

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

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


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

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

  Log Message:
  -----------
  embed.fnc: Don't compile undefined function

This function now is defined only when USE_LOCALE is #defined; move its
specification in embed.fnc accordingly


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

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

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


  Commit: 2127217c51c56e4660a354234063ea2f38af876f
      
https://github.com/Perl/perl5/commit/2127217c51c56e4660a354234063ea2f38af876f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M locale.c

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


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

  Changed paths:
    M locale.c

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


Compare: https://github.com/Perl/perl5/compare/044143209335...cda83987bff8

Reply via email to