Branch: refs/heads/smoke-me/khw-env
  Home:   https://github.com/Perl/perl5
  Commit: a39f14b9751f950adcd5424eb15b0d803c0fbf82
      
https://github.com/Perl/perl5/commit/a39f14b9751f950adcd5424eb15b0d803c0fbf82
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M t/harness

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


  Commit: 21b917a6d6318782b36cc16974f538a80fea7639
      
https://github.com/Perl/perl5/commit/21b917a6d6318782b36cc16974f538a80fea7639
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M t/op/sub.t

  Log Message:
  -----------
  op/sub.t: Cancel watchdog when done

A watchdog timer should be cancelled after the test(s) it guards.
Otherwise, when someone adds new tests after it in the file, and doesn't
notice that the tests are under the watchdog, those new tests can fail.
These failures may be intermittent, only happening under heavy load.


  Commit: da1ebdad76fd827cfec8ee2fcccde20626562e0d
      
https://github.com/Perl/perl5/commit/da1ebdad76fd827cfec8ee2fcccde20626562e0d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M t/test.pl

  Log Message:
  -----------
  test.pl: Add comment that should clear watchdog

As it says, failure to cancel a timer can lead to failing (or worse:
flapping) tests


  Commit: 71e74a01b836949327f4af4c06a5d93cb5420e05
      
https://github.com/Perl/perl5/commit/71e74a01b836949327f4af4c06a5d93cb5420e05
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M t/TEST

  Log Message:
  -----------
  XXX skip cpan testing


  Commit: 8e300f2fe733564287a46fe2efd33f3f96de275b
      
https://github.com/Perl/perl5/commit/8e300f2fe733564287a46fe2efd33f3f96de275b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  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:
  -----------
  uniprops 24


  Commit: 4117c13d5f97e061d24d2f55948748f9e52b943b
      
https://github.com/Perl/perl5/commit/4117c13d5f97e061d24d2f55948748f9e52b943b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  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: 6c1f6a6f12d71b574411edd9ccc14a045358425a
      
https://github.com/Perl/perl5/commit/6c1f6a6f12d71b574411edd9ccc14a045358425a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M t/test.pl

  Log Message:
  -----------
  XXX test.pl: dont unlink temps


  Commit: e7d434b6fa69b1c340f21b700981551f249d6de5
      
https://github.com/Perl/perl5/commit/e7d434b6fa69b1c340f21b700981551f249d6de5
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M t/test.pl

  Log Message:
  -----------
  Revert "XXX test.pl: dont unlink temps"

This reverts commit 1579ce0dbce549cb594214ba27d4e2fa389f891b.


  Commit: ee9643b0120cd66e642a8ed8db9be1908e8e14d2
      
https://github.com/Perl/perl5/commit/ee9643b0120cd66e642a8ed8db9be1908e8e14d2
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M t/run/locale.t

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


  Commit: e801a4b5a4aace1f472b0ecdbb0159d14ac5aaf4
      
https://github.com/Perl/perl5/commit/e801a4b5a4aace1f472b0ecdbb0159d14ac5aaf4
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M t/run/locale.t

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


  Commit: 9e5a2b1972b3e108120cb0f494e7544c64d76ed0
      
https://github.com/Perl/perl5/commit/9e5a2b1972b3e108120cb0f494e7544c64d76ed0
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M vutil.c

  Log Message:
  -----------
  vutil.c: Clean up white space/comments

Change tabs to blanks; Fix indentation; chomp trailing white space

Remove some blank lines that don't contribute to readability

Add/change comment wording


  Commit: 02a6fa2fe13cf0b569ac2a9d0aba0666ae0cf6a2
      
https://github.com/Perl/perl5/commit/02a6fa2fe13cf0b569ac2a9d0aba0666ae0cf6a2
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M vutil.c

  Log Message:
  -----------
  vutil.c: Simplify locale handling

I read the code over and realized that there was a much simpler way to
do things.


  Commit: bbad34167006bd0412a58b1e11cefed3c06c0624
      
https://github.com/Perl/perl5/commit/bbad34167006bd0412a58b1e11cefed3c06c0624
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M vutil.c

  Log Message:
  -----------
  vutil.c: Debug


  Commit: e3d1b091a41e4f255d1c819e900085bee01029c7
      
https://github.com/Perl/perl5/commit/e3d1b091a41e4f255d1c819e900085bee01029c7
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M vutil.c

  Log Message:
  -----------
  vutil.c: Add logic to avoid having to change locales

Prior to this commit, unless the locale was C or POSIX, it changed it
temporarily so as to make sure the decimal point radix character was a
dot.

But on POSIX platforms or C99 compilers, there are easy ways to
determine if the radix is a dot or not, without having to look at the
locale.  This commit changes to take advantage of those mechanisms to
avoid toggling the locale unless it is actually needed to be done.

Only if the compiler is C89 on a non-POSIX box will the previous
existing method be used.


  Commit: ebca7514934190eb488237fac31e3c8bb7ae43bc
      
https://github.com/Perl/perl5/commit/ebca7514934190eb488237fac31e3c8bb7ae43bc
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M vutil.c

  Log Message:
  -----------
  vutil.c: C.UTF-8 also has a dot radix character

This is another locale besides C and POSIX that are guaranteed to have
the radix character be a dot.

Very likely, locales beginning with "en_" will too.  But this isn't
guaranteed.


  Commit: 6300dbceb43b8f410bdd0916740ed6fda6969975
      
https://github.com/Perl/perl5/commit/6300dbceb43b8f410bdd0916740ed6fda6969975
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M vutil.c

  Log Message:
  -----------
  vutil.c: Don't use Perl locale mechanisms

The code in this function may be called from places that participate in
the extensive Perl locale-handling mechanisms.  But it may also be
called from code that isn't.

That means it has to use the base level libc functions for its locale
handling, and to be careful to not interfere with the Perl data
structures.  When there is a possibility of collisions with other
threads, a mutex must be used to prevent that.  There is still the
possibility of races if another thread is not using a mutex to protect
its locale accesses; but that can't be helped.

Recent perls have added mechanisms to allow for an API that can be used
to do mutex locking without harming the Perl data structures.

This commit changes vutil.c to use them if available, and using no-ops
or the best available alternatives, if not.


  Commit: 44cf91835f30c7bede7d58d761ea420ace10a969
      
https://github.com/Perl/perl5/commit/44cf91835f30c7bede7d58d761ea420ace10a969
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M vutil.c

  Log Message:
  -----------
  f vutil


  Commit: 553e2b10422dce81b608d5209a91b30a38368c63
      
https://github.com/Perl/perl5/commit/553e2b10422dce81b608d5209a91b30a38368c63
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

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

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

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


  Commit: b60fc217d87010376b891564429cd868cef47ee5
      
https://github.com/Perl/perl5/commit/b60fc217d87010376b891564429cd868cef47ee5
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

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

  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: 76be6252596fe10c91c1e47ce3c526cb8d07ea64
      
https://github.com/Perl/perl5/commit/76be6252596fe10c91c1e47ce3c526cb8d07ea64
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

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

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


  Commit: 61f51bd29a41a245ea5409b1d6acc00f2c49909a
      
https://github.com/Perl/perl5/commit/61f51bd29a41a245ea5409b1d6acc00f2c49909a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M t/porting/cmp_version.t

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


  Commit: 1e9f3e2588db1a828392e5ff068b24d4558b220e
      
https://github.com/Perl/perl5/commit/1e9f3e2588db1a828392e5ff068b24d4558b220e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M perl.h

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


  Commit: e04f38a1169e3375f51d4b6c89efe7b3d69405b2
      
https://github.com/Perl/perl5/commit/e04f38a1169e3375f51d4b6c89efe7b3d69405b2
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  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: f4de86ff03b8316f5e148e3f2bc185548c0acbbf
      
https://github.com/Perl/perl5/commit/f4de86ff03b8316f5e148e3f2bc185548c0acbbf
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M Configure

  Log Message:
  -----------
  XXX Configure temporary to get no_nl, etc working


  Commit: d1ecb37f06835bd52f865f50c15e11672dc12551
      
https://github.com/Perl/perl5/commit/d1ecb37f06835bd52f865f50c15e11672dc12551
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M win32/config_H.gc
    M win32/config_H.vc

  Log Message:
  -----------
  Regenerate Configure after metaconfig backports applied


  Commit: 565735c45d4e468f5bf17961184e46529bd7c8ad
      
https://github.com/Perl/perl5/commit/565735c45d4e468f5bf17961184e46529bd7c8ad
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M Configure
    M config_h.SH
    M uconfig.h
    M win32/config_H.gc
    M win32/config_H.vc

  Log Message:
  -----------
  Regenerate Configure after rm thread-safe nl_langinfo_l


  Commit: 5d77101f03a4a8d5e781ad9791db7c5fcdb6ab43
      
https://github.com/Perl/perl5/commit/5d77101f03a4a8d5e781ad9791db7c5fcdb6ab43
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M Configure
    M Cross/config.sh-arm-linux
    M Cross/config.sh-arm-linux-n770
    M Porting/config.sh
    M config_h.SH
    M configure.com
    M metaconfig.h
    M plan9/config_sh.sample
    M uconfig.h
    M uconfig.sh
    M uconfig64.sh
    M win32/config.gc
    M win32/config.vc
    M win32/config_H.gc
    M win32/config_H.vc

  Log Message:
  -----------
  XXX No count Regenerate Configure after LC_ALL


  Commit: 836861cf8c67f74d58bcd6a351eceb3f4ec58e7b
      
https://github.com/Perl/perl5/commit/836861cf8c67f74d58bcd6a351eceb3f4ec58e7b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: Use an enum to simplify consecutive value initialization

This commit replaces the clumsy method to initialize some symbols with
consecutive vaues.  This also presents opportunities to declare
variables as the particular enum type, to allow for better checking and
code generation.


  Commit: 80b25c1c76714bbe0c06a182c9a3859bdf9c39ee
      
https://github.com/Perl/perl5/commit/80b25c1c76714bbe0c06a182c9a3859bdf9c39ee
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M locale.c
    M perl.h

  Log Message:
  -----------
  locale.c: Always leave a space for LC_ALL entries

Some platforms may not have the LC_ALL conglomerate category.  This
commit leaves a placeholder for it anyways.  Having this always there
can lead to some simplifications.


  Commit: 0e3a8ad14bd2188a87a0b2ddbd19620df4049b32
      
https://github.com/Perl/perl5/commit/0e3a8ad14bd2188a87a0b2ddbd19620df4049b32
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M intrpvar.h
    M perl.h

  Log Message:
  -----------
  perl.h: Create a locale mnemonic #define for sync across files


  Commit: e922851df52a6f46c4a818a12c736cf303425bfb
      
https://github.com/Perl/perl5/commit/e922851df52a6f46c4a818a12c736cf303425bfb
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M makedef.pl
    M perl.h

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


  Commit: ce00ac1b0124a12297851b9efec88de79b859236
      
https://github.com/Perl/perl5/commit/ce00ac1b0124a12297851b9efec88de79b859236
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M perl.h

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


  Commit: d56750c484948bd210fd89ef58b52294a010b9f0
      
https://github.com/Perl/perl5/commit/d56750c484948bd210fd89ef58b52294a010b9f0
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  ruler


  Commit: 890bb9fa22182e00e1c227560eac7f17aac3ab5d
      
https://github.com/Perl/perl5/commit/890bb9fa22182e00e1c227560eac7f17aac3ab5d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  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: ccd8b4e4c1e357bacfce300ab6f1fbd53fc6bedd
      
https://github.com/Perl/perl5/commit/ccd8b4e4c1e357bacfce300ab6f1fbd53fc6bedd
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  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: a1b72b60359dc9b2b51ccc6a33421ec6b1cb0d47
      
https://github.com/Perl/perl5/commit/a1b72b60359dc9b2b51ccc6a33421ec6b1cb0d47
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  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: a50cc2e5dc32cdef401b31254d4a6a69f4a393de
      
https://github.com/Perl/perl5/commit/a50cc2e5dc32cdef401b31254d4a6a69f4a393de
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  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: 49dae6501a57fedaab08b7ed56768cdff8d20127
      
https://github.com/Perl/perl5/commit/49dae6501a57fedaab08b7ed56768cdff8d20127
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  DEBUG_


  Commit: 60873df22544ebefcb7f6b087ce611cf137ea21a
      
https://github.com/Perl/perl5/commit/60873df22544ebefcb7f6b087ce611cf137ea21a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M locale.c
    M perl.c

  Log Message:
  -----------
  XXX appears to be an existing bug need multiplicity for cur_locale obj

SEE what is failing, maybe only non2008 nonsetlocale


  Commit: f980d4dc31fc6bcb5d9b5e655c16154d9559ed07
      
https://github.com/Perl/perl5/commit/f980d4dc31fc6bcb5d9b5e655c16154d9559ed07
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: debug with thread id


  Commit: 3fe8be9e9064cef5eb7bfa2129049424d7452922
      
https://github.com/Perl/perl5/commit/3fe8be9e9064cef5eb7bfa2129049424d7452922
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

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

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


  Commit: b56c0e4c19de06b51e3c3382a8d2b62ed304d896
      
https://github.com/Perl/perl5/commit/b56c0e4c19de06b51e3c3382a8d2b62ed304d896
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  XXX win workaround


  Commit: 1ae962172171af1150c7e39c40307f0dd0bd2f23
      
https://github.com/Perl/perl5/commit/1ae962172171af1150c7e39c40307f0dd0bd2f23
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  just after XXX win workaround


  Commit: bbef15dded2446c1e0967f577aaf28aed93c45c8
      
https://github.com/Perl/perl5/commit/bbef15dded2446c1e0967f577aaf28aed93c45c8
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M lib/locale_threads.t
    M t/run/locale.t

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


  Commit: b7082ca9c3ad2eb2b122efdbb1d2d8eef1cc39cf
      
https://github.com/Perl/perl5/commit/b7082ca9c3ad2eb2b122efdbb1d2d8eef1cc39cf
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  XXX locale_threads.t: Add alarm


  Commit: 3a01ba2baccf4cfa9438e5c0b11ef354886f0077
      
https://github.com/Perl/perl5/commit/3a01ba2baccf4cfa9438e5c0b11ef354886f0077
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: Debug locking


  Commit: 0dea57f23e765a26d1ef4051efd99269e7077cac
      
https://github.com/Perl/perl5/commit/0dea57f23e765a26d1ef4051efd99269e7077cac
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-29 (Mon, 29 May 2023)

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

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


  Commit: d0aa48de1e829f4b4b17dd11453caadb6050416a
      
https://github.com/Perl/perl5/commit/d0aa48de1e829f4b4b17dd11453caadb6050416a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M dist/threads/threads.xs
    M inline.h

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


  Commit: f4b2652907161c2dc026308f207a158d4f49bd7c
      
https://github.com/Perl/perl5/commit/f4b2652907161c2dc026308f207a158d4f49bd7c
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M makedef.pl

  Log Message:
  -----------
  XXX: UCRT mingw is not likely locale-thread safe

In order for mingw to be locale-thread safe, it needs UCRT which current
packages don't tend to have.  But this commit adds a XXX -DUCRT


  Commit: 7be5ad35773a74d9847eb01156ae210409507a3d
      
https://github.com/Perl/perl5/commit/7be5ad35773a74d9847eb01156ae210409507a3d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M t/loc_tools.pl

  Log Message:
  -----------
  loc_tools


  Commit: ec014573cbc045eac71207e4d12eaa9165629bab
      
https://github.com/Perl/perl5/commit/ec014573cbc045eac71207e4d12eaa9165629bab
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M t/loc_tools.pl

  Log Message:
  -----------
  XXX t/loc_tools.pl: Temp debug


  Commit: 2d7dae5d393f4bcc9ca4b641f7c293c53e58ee48
      
https://github.com/Perl/perl5/commit/2d7dae5d393f4bcc9ca4b641f7c293c53e58ee48
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: define locale mutex under more cirumstances

Prior to this commit, it wasn't defined if we aren't paying attention to
locales; but that doesn't mean they don't exist, and the operations that
affect them are still callable; so they should have a mutex to prevent
one thread from overwriting another's.


  Commit: 202c9b1c3802d00e86bd5185c45dcb2e2e38bbbc
      
https://github.com/Perl/perl5/commit/202c9b1c3802d00e86bd5185c45dcb2e2e38bbbc
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M makedef.pl
    M perl.h

  Log Message:
  -----------
  perl.h: Also recognize -DNO_THREAD_SAFE_LOCALE

It would be a reasonable Configure option to say
-Accflags=-DNO_THREAD_SAFE_LOCALE


  Commit: 6f6fc641ac25da97437748b1659a90bd71685fc9
      
https://github.com/Perl/perl5/commit/6f6fc641ac25da97437748b1659a90bd71685fc9
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: configthreadlocale() error checking

The code previously just assumed the system call always worked.  But it
may not if the CRTL is wrong; this surfaced on a mingw compile.

It's better to have it fail outright than to continue and silently give
a wrong answer.


  Commit: cf54a6a8aeb127580be189ce2fa08d3f897171a6
      
https://github.com/Perl/perl5/commit/cf54a6a8aeb127580be189ce2fa08d3f897171a6
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: Turn mutex warning into a panic

This was my attempt to keep going and try to recover after a problem was
found:  an unbalanced number of  locks/unlocks.  However, in looking at
a many-million line execution trace, I realized that the recovery likely
doesn't lead to correct results, and we should quit immediately when it
happens.


  Commit: dcfbc4805343e1128e8e63d70a1399fd8ecd1cb3
      
https://github.com/Perl/perl5/commit/dcfbc4805343e1128e8e63d70a1399fd8ecd1cb3
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: White space, comments only


  Commit: e03275e4f18ab0a39bb73161584d5dabc20245b4
      
https://github.com/Perl/perl5/commit/e03275e4f18ab0a39bb73161584d5dabc20245b4
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h change lock debugging text


  Commit: dc95ad87735d259749a94b0a2f5f1e5e4283ba1d
      
https://github.com/Perl/perl5/commit/dc95ad87735d259749a94b0a2f5f1e5e4283ba1d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M t/harness

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


  Commit: ed330836e677aceec76234361e92d4d84801a509
      
https://github.com/Perl/perl5/commit/ed330836e677aceec76234361e92d4d84801a509
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M pod/perllocale.pod

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


  Commit: a324b6187af57700739727d5e427bd6f017d0975
      
https://github.com/Perl/perl5/commit/a324b6187af57700739727d5e427bd6f017d0975
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M lib/locale_threads.t

  Log Message:
  -----------
  XXX ruler lib/locale_threads.t


  Commit: a7d7374ade432f85f3dc5e52061fbc95445fd23d
      
https://github.com/Perl/perl5/commit/a7d7374ade432f85f3dc5e52061fbc95445fd23d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M hints/freebsd.sh
    M hints/openbsd.sh

  Log Message:
  -----------
  XXX try out bsd 2008


  Commit: 9215c0254e7e9adf2e7836de0d22c56ad17a6601
      
https://github.com/Perl/perl5/commit/9215c0254e7e9adf2e7836de0d22c56ad17a6601
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M makedef.pl

  Log Message:
  -----------
  makedef.pl: Don't use locale items unless using locale

If we are configured to not look at locales at all, we shouldn't be
looking at threaded locales nor POSIX 2008 ones.

This commit fixes a situation that is not likely at all to show up in
real life, but I stumbled across it in testing weird configurations.


  Commit: 2079b499b77c001b2154faff0a08d7b2ef9ba707
      
https://github.com/Perl/perl5/commit/2079b499b77c001b2154faff0a08d7b2ef9ba707
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M makedef.pl

  Log Message:
  -----------
  makedef.pl: Remove redundant set

This ||= is useless, as just above we've already set MULTIPLICITY if
USE_ITHREADS is set.


  Commit: ea97f7fe6a4ea8156fe39287635d881c1c045b24
      
https://github.com/Perl/perl5/commit/ea97f7fe6a4ea8156fe39287635d881c1c045b24
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M lib/locale.t

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


  Commit: a350dbacfc94e36d2d31baf0b786c8eaca63181b
      
https://github.com/Perl/perl5/commit/a350dbacfc94e36d2d31baf0b786c8eaca63181b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M lib/locale.t

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


  Commit: cd0094f39d7e9dc3b5add4f6070daf1dc610bbfa
      
https://github.com/Perl/perl5/commit/cd0094f39d7e9dc3b5add4f6070daf1dc610bbfa
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M lib/locale.t

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


  Commit: e158d86c29b9c99a0ca891343458d169fb48b963
      
https://github.com/Perl/perl5/commit/e158d86c29b9c99a0ca891343458d169fb48b963
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M pod/perlhacktips.pod

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


  Commit: eedaa91065f76a5f3529b254b4357c762fc042fb
      
https://github.com/Perl/perl5/commit/eedaa91065f76a5f3529b254b4357c762fc042fb
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M handy.h

  Log Message:
  -----------
  XXX cygwin debugging small macro buf


  Commit: c7b10d874dc5a9cf56c5edf7c1aa7651b12445de
      
https://github.com/Perl/perl5/commit/c7b10d874dc5a9cf56c5edf7c1aa7651b12445de
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M iperlsys.h

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


  Commit: 0c8c6366ee15ba9336e05c46bbe341caf7e23af8
      
https://github.com/Perl/perl5/commit/0c8c6366ee15ba9336e05c46bbe341caf7e23af8
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M regen/reentr.pl

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


  Commit: cb1eac9f75ddb6d3a272751e322d8d813381278c
      
https://github.com/Perl/perl5/commit/cb1eac9f75ddb6d3a272751e322d8d813381278c
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M regexec.c

  Log Message:
  -----------
  regexec.c: XXX has cast to U8 for some reason


  Commit: c509276be5583e5ee32aaabeb786f5cd9e6e32dc
      
https://github.com/Perl/perl5/commit/c509276be5583e5ee32aaabeb786f5cd9e6e32dc
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M sv.c

  Log Message:
  -----------
  perlapi: Combine sv_eq(), sv_eq_flags() entries


  Commit: 62446ebc4b01938ac2a4f9b38a90b0ce17cbf659
      
https://github.com/Perl/perl5/commit/62446ebc4b01938ac2a4f9b38a90b0ce17cbf659
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

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


  Commit: 6f17796c0cb3f64c2e3a106f22c03b0ff63630f7
      
https://github.com/Perl/perl5/commit/6f17796c0cb3f64c2e3a106f22c03b0ff63630f7
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M dist/IO/IO.xs

  Log Message:
  -----------
  XXX check if using ppport IO.xs: Remove fallback code furnished by ppport


  Commit: 11dce746bf9c32aaabe8581e6420c57d5e6330c7
      
https://github.com/Perl/perl5/commit/11dce746bf9c32aaabe8581e6420c57d5e6330c7
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  Debug Windows memory usage in pp_study


  Commit: 70ccf23eb77ab79ab4851184d1426f2656239036
      
https://github.com/Perl/perl5/commit/70ccf23eb77ab79ab4851184d1426f2656239036
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M pod/perlmod.pod

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


  Commit: ebd4429c852f92d330516f84c0d7d1cdbf2c76da
      
https://github.com/Perl/perl5/commit/ebd4429c852f92d330516f84c0d7d1cdbf2c76da
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 67e6fac49ea1038b7a702df337c92f2fb4a7b5de
      
https://github.com/Perl/perl5/commit/67e6fac49ea1038b7a702df337c92f2fb4a7b5de
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Rename S_calculate_LC_ALL_string()

Its return is a string.  Add the suffix '_string' to emphasize that


  Commit: d2a948592a135188c75bc53e231fe77e22755b60
      
https://github.com/Perl/perl5/commit/d2a948592a135188c75bc53e231fe77e22755b60
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  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: 689969d71f474d11bbe0d90ab7deaecc2691dfd4
      
https://github.com/Perl/perl5/commit/689969d71f474d11bbe0d90ab7deaecc2691dfd4
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Use proper macro

querylocale_c()  likely will expand to the correct thing, but it isn't
defined until higher in the stack of locale handling layers.  Instead
use the construct that is lower in the stack.


  Commit: f22744c29d067b9a9c93fc1b2e7c78377637fac7
      
https://github.com/Perl/perl5/commit/f22744c29d067b9a9c93fc1b2e7c78377637fac7
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move some static functions within file

This places them more conveniently.

Future commits will continue this reordering until like-level and
like-kind functions are close to each other physically in the file.


  Commit: 7dd710178db00a71d21eb3a4304291e4832237af
      
https://github.com/Perl/perl5/commit/7dd710178db00a71d21eb3a4304291e4832237af
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Replace an assumption by a cpp check

This commit adds a preprocessor directive to check if we are running on
a POSIX 2008 system, rather than just assume we are if the earlier
possibilities weren't the case.  And it causes a compile time error if
none pan out.


  Commit: d9afc31e78fa027bb2d1eb383aa48ff9cdc249e4
      
https://github.com/Perl/perl5/commit/d9afc31e78fa027bb2d1eb383aa48ff9cdc249e4
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Don't compile without LC_ALL under POSIX 2008

The code assumes that if you have POSIX 2008, you have LC_ALL.  This
adds a compile-time error check to prevent someone from finding that out
the harder way.


  Commit: f379e816439f2f66d31c656f43dfd6bff0eb3534
      
https://github.com/Perl/perl5/commit/f379e816439f2f66d31c656f43dfd6bff0eb3534
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move a parallel array adjacent to its mates

This is in preparation for making their parallelism more obvious


  Commit: e6d0b591bc6f154aa041550634e8864478ea4591
      
https://github.com/Perl/perl5/commit/e6d0b591bc6f154aa041550634e8864478ea4591
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M embed.fnc
    M proto.h

  Log Message:
  -----------
  locale.c: Add warning if function return ignored


  Commit: 0f4eb31c6441796c5026802314515813a3e7b681
      
https://github.com/Perl/perl5/commit/0f4eb31c6441796c5026802314515813a3e7b681
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Properly identify reason for placeholder in arrays

This is needed to handle the case where a locale category passed in (via
Perl_setlocale) is unknown to perl, hence is considered illegal.

The previous comments were misleading.


  Commit: 8ed9847986da1c273af2f1cc6bbe26caa324bb45
      
https://github.com/Perl/perl5/commit/8ed9847986da1c273af2f1cc6bbe26caa324bb45
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  Change return of S_get_category_index_nowarn

This is in preparation for it being called from more than a single
place.  Instead of returning -1 on error, it returns an out-of-bounds
value 1 greater than the largest legal value.  There is a placeholder
entry in all the arrays this can be indexed into for that illegal value.
This means if it somehow gets used, we wont get a segfault, like we
would on the -1, but instead a value that will show up as wrong, but not
crash.


  Commit: a94d23c92800267c9a4babc3c6cac6f7eefcd265
      
https://github.com/Perl/perl5/commit/a94d23c92800267c9a4babc3c6cac6f7eefcd265
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M ext/XS-APItest/t/locale.t
    M locale.c

  Log Message:
  -----------
  locale.c: Check for illegal input category

It is possible for Perl_setlocale() to be called with a category value
that is illegal, or is just unknown to us.  There is a function that
maps category numbers into our internal indexing scheme.  It maps any
unknown value to the same index, larger than any legal one.

Prior to this commit, there was no check that the input was valid; we
went off processing it as if it were valid.  That there was an element
in the tables that corresponds to this index prevented any illegal
memory acceses, but it is better to check early and return an error.


  Commit: 28a3d0fd0d19b9d2a54fef65dbacce1dfcd6ba59
      
https://github.com/Perl/perl5/commit/28a3d0fd0d19b9d2a54fef65dbacce1dfcd6ba59
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Revamp initialization of parallel arrays

This new method eliminates a lot of #ifdef's in each of the array
initializations, consolidating all the array entries for a category
to be in a single group.  This facilitates ease of checking that things
are correct and the addition of new items.

A Factory pattern to generate all these could be used instead.  But I
don't know how to do that in cpp (I suppose some recursive #includes
would do it uglily), and I don't think it's worth it to do a regen
script.

There is a reason for the  apparently weird indentation, that future
commits will reveal.


  Commit: 5aa62eae86e87470e55f0b803922444e4f768b27
      
https://github.com/Perl/perl5/commit/5aa62eae86e87470e55f0b803922444e4f768b27
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c
    M perl.h

  Log Message:
  -----------
  Rename SETLOCALE_LOCK to LOCALE_LOCK

This mutex isn't just about the setlocale function; it applies to all
locale related critical sections.


  Commit: 0ef223c55e425c8ba521ac5eafd5081130a776d4
      
https://github.com/Perl/perl5/commit/0ef223c55e425c8ba521ac5eafd5081130a776d4
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Avoid runtime strlen() calls

The lengths of these strings are known at compile time.  This commit
creates an array of those lengths to avoid calling strlen() in a loop
unnecessarily.


  Commit: 9b6dc7c1cda27937f75d240b3f92eefe49a41e31
      
https://github.com/Perl/perl5/commit/9b6dc7c1cda27937f75d240b3f92eefe49a41e31
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Replace loop with a switch()

locale.c uses tables to specify data and actions about the different
locale categories on the system.  The categories are opaque integers
specified by libc, so they have to be mapped to indices into the tables
for our use.  Prior to this commit, that was done by a loop iterating
over each possibility until it found a match.  This commit changes that
to use a switch() statement, so that the compiler can choose what the
best way to implement things are.


  Commit: 96013c443bf88cfd7aec51b2082f849fdcc8c735
      
https://github.com/Perl/perl5/commit/96013c443bf88cfd7aec51b2082f849fdcc8c735
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Refactor S_get_category_index()

There is actually only one place where the locale category can be input
from code outside this file.  Now that the previous commit added
validation to that one spot, The rest of the calls should already be
validated, and if the input is bad, it means that there is a serious
error in the logic of this code, and warrants panicking.

This commit collapses two functions into one plus a macro to call it
with the right parameters.  It moves the warning into the one place
where it is useful, and panics if there is a problem otherwise.


  Commit: 88b57fcef18e31df7a49d367bb34e374dc698ec1
      
https://github.com/Perl/perl5/commit/88b57fcef18e31df7a49d367bb34e374dc698ec1
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c
    M makedef.pl
    M perl.h

  Log Message:
  -----------
  XXXleaks: Remove PL_cur_LC_ALL for non-Windows

This value is now held in a slot in PL_curlocales[] for non-Windows
platforms.


  Commit: 23db4bf9f8d677ccc58d8076ce5a64d3352dc29f
      
https://github.com/Perl/perl5/commit/23db4bf9f8d677ccc58d8076ce5a64d3352dc29f
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Rename S_myquerylocale_i()

This name doesn't effectively describe it.  The new name is
querylocale_2008_i, indicating it is for the POSIX 2008 API.


  Commit: 509395bcae58eb4da81e73d324c8a8013bb8ba19
      
https://github.com/Perl/perl5/commit/509395bcae58eb4da81e73d324c8a8013bb8ba19
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Separate setlocale into bool and query

There are two ways that POSIX specifies to change the locale.

The earlier interface is setlocale(), which either returns NULL on
failure, or a pointer to global static memory containing the character
string of the changed locale.  That may very well be the input locale
name, or the platform can return something that to it is equivalent.

The second, from the 2008 standard, is newlocale() which returns either
NULL on failure or a pointer to an opaque object, and there is no
official way to find out what the current locale is.  (The next proposed
version of the Standard will finally add this capability.)  Some
platforms have introduced a querylocale() to get this information.
(glibc has a hidden function to do so.)

Note that the return value of setlocale() is problematic, valid only
until the next call to that function, which might be immediately from
another thread.  The value, if needed, has to be saved to a per-thread
buffer in a critical section with the function call.  That buffer
presents opportunities for leaking or being destroyed too early,
resulting in heap use after being freed.

And it turns out that the value is often not needed; often what is
needed is only if the operation failed or succeeded.

This commit starts the process of limiting the use of the changed value
to just where its really needed.  It does this by changing the
newlocale() form to return success/failure, removing all the macros that
think you can set and get the value in the same operation, and minor
fixups.


  Commit: bf7a9c7d4bcbdcf63f7f03b28afac9a15237239e
      
https://github.com/Perl/perl5/commit/bf7a9c7d4bcbdcf63f7f03b28afac9a15237239e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Rmv less_dicey_void_setlocale_r()

This function is simple, but almost entirely redundant with
less_dicey_bool_setlocale_r().  A simple wrapper to the latter suffices.

The commit also changes the macros for this to use void_setlocale_r() as
the base which the other two are defined in terms of.  This avoids a
runtime calculation of the internal index corresponding to the input
locale category except when we are about to panic.


  Commit: f468bd15336aee904f8037672ceebcf8d125efe4
      
https://github.com/Perl/perl5/commit/f468bd15336aee904f8037672ceebcf8d125efe4
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Avoid a runtime calculation

As in the previous commit, this rewrites the void_setlocale_X macros so
as to not need a runtime calculation except in the very rare event of
executing a panic.


  Commit: 074f4532a055adf578ed731ecec8b90b281cfaab
      
https://github.com/Perl/perl5/commit/074f4532a055adf578ed731ecec8b90b281cfaab
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Add missing panic

In just the POSIX 2008 implementation of setting locales, the panic upon
failure had been omitted.  The whole point of a void call is so that the
caller doesn't have to check the return code of something that should
never fail, and can just assume that if it gets to the next statement
everything worked as expected.


  Commit: f375a70979aa513318a39f64ccc0b9900a857943
      
https://github.com/Perl/perl5/commit/f375a70979aa513318a39f64ccc0b9900a857943
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Reorder code, add comments

There are three separate implementations of an internal API for locale
handling.  This commit makes them stand out in the code, and makes the
ordering within each implementation parallel to the other
implementations.

And adds explanatory comments.


  Commit: 4785289ccd1ebb2a3d5b576a56f34eb951a836c8
      
https://github.com/Perl/perl5/commit/4785289ccd1ebb2a3d5b576a56f34eb951a836c8
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Remove one-off macro

This was used to prevent an unnecessary copy.  But the next commit will
change the macro it was avoiding to not always do the copy.  That will
avoid more copies than this would. The copy that results will still be
unnecessary in some cases, but there is a net gain.


  Commit: c721fc08fc60e18a24d28716168bbffdd222f488
      
https://github.com/Perl/perl5/commit/c721fc08fc60e18a24d28716168bbffdd222f488
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Add a convenience macro query_nominal_locale_i

This is used when the locale needs to be what an external caller would
see.  Adding this simplifies some code.


  Commit: 342b0487988a4505f60a26be771736fa85f58679
      
https://github.com/Perl/perl5/commit/342b0487988a4505f60a26be771736fa85f58679
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move copy from macro to called function

Not all returns from the function need to be copied.  Thus this
eliminates some extraneous copies.


  Commit: 7b2d5287ae9ca99aef144d56e24daac970493f93
      
https://github.com/Perl/perl5/commit/7b2d5287ae9ca99aef144d56e24daac970493f93
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_toggle_locale_i: Move some assert()s, initialization


  Commit: 10e812d8f4de66f9912956d587150c4a40212e85
      
https://github.com/Perl/perl5/commit/10e812d8f4de66f9912956d587150c4a40212e85
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Add extra debug info to panics

This commit adds some call stack information to the message that gets
output when about to panic because of an unanticipated failure in
the locale handling code.


  Commit: 37f5888f97f44f1c18a68ca3769c2d52e0c37fda
      
https://github.com/Perl/perl5/commit/37f5888f97f44f1c18a68ca3769c2d52e0c37fda
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Add void_setlocale_with_caller macros

These pass a file and line number of further up the calling stack to a
panic so as to improve debugging information.


  Commit: 06fdc08dfcf4fbc48921ba31224ecbc80279748f
      
https://github.com/Perl/perl5/commit/06fdc08dfcf4fbc48921ba31224ecbc80279748f
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Initialize PL_curlocales at startup

Previously this was done later, which meant other code had to take them
being uninitialized into consideration over and over at runtime.  That
code is hereby removed.

This commit enables further simplifications to follow in later commits.


  Commit: 2dfa7605c6635f83bd5abf8c8007d1478a72ea8b
      
https://github.com/Perl/perl5/commit/2dfa7605c6635f83bd5abf8c8007d1478a72ea8b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Use void_ macro form when ignoring return

The void_ form panics if unsuccessful; and here we are relying on it
being successful.


  Commit: b5abb8b586488e2385bbef1cefe140fc398157d6
      
https://github.com/Perl/perl5/commit/b5abb8b586488e2385bbef1cefe140fc398157d6
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Don't exclude LC_ALL in  loop

This function was setting each individual locale category to the same
value.  But if all the subcomponents are the same, so is LC_ALL.  No
need to special case it


  Commit: 1b704f8ce64d6bfbe5f8b6241b74361df7ab1fa8
      
https://github.com/Perl/perl5/commit/1b704f8ce64d6bfbe5f8b6241b74361df7ab1fa8
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Change function to return void

It just returns the input value unchanged; this is a no-op.


  Commit: 5307da521f1b59487e87551433b48ca36d8a7d36
      
https://github.com/Perl/perl5/commit/5307da521f1b59487e87551433b48ca36d8a7d36
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Remove no-longer needed parameter and computation

When a locale category changes, LC_ALL necessarily also does.  When we
are looping changing a bunch of categories, LC_ALL's intermediate values
are of no importance; only the final value matters.  Prior to this
commit, this was handled by setting a flag to not do the recalculation
until the final loop iteration.

But a more elegant solution is to not recalculate it all, until the
value is actually needed.  So the code is changed to invalidate the
stored value if an individual locale category changes, and then do the
calculation only when needed and invalidated.


  Commit: 825ffc91473bffb88ac1fbad19468d5cb082971b
      
https://github.com/Perl/perl5/commit/825ffc91473bffb88ac1fbad19468d5cb082971b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Change parameter name for static function

category_locales_list is somewhat more descriptive than individ_locales


  Commit: f878dd540ca93dd837d6307ccc4f3dd6de53a747
      
https://github.com/Perl/perl5/commit/f878dd540ca93dd837d6307ccc4f3dd6de53a747
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Change API of S_calculate_LC_ALL_string

This function looks at all the individual locale categories on the
system.  So far it is called with either an array of the current values
for them, or an object from which those values can be derived.

But the object is always the current locale object in effect.  The
querylocale_i() macro can be used to get this information without
needing to have to name the object.  Therefore the object parameter is
superfluous, and the function could be notified to use querylocale_i by
making the array parameter NULL.

But right now you get one or the other.  There are two signatures to
this function, depending on the platform capabilities.

This commit collapses those into one signature, the one with an array
parameter.  And then NULL is used to trigger calling querylocale_i().

The reason to do this is that future commits will want to pass an array
to this function, even when it is compiled on a platform that currently
doesn't allow that option.


  Commit: 4b8aac5eea49d8fbcb489cb548ef05fddb7ac1f1
      
https://github.com/Perl/perl5/commit/4b8aac5eea49d8fbcb489cb548ef05fddb7ac1f1
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Simplify S_get_LC_ALL_display

The previous enhancements to calculate_LC_ALL_string means this function
can just call it without having to loop itself.


  Commit: 6d419d75260f984e43ac97944ff72bea044ce876
      
https://github.com/Perl/perl5/commit/6d419d75260f984e43ac97944ff72bea044ce876
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Slight refactoring of S_querylocale_2008_i

This just moves some asserts, adds comments and a branch prediction, and
replaces a variable used in only one place by it value.


  Commit: 70a22a9e863eafed713fb33523b1abd92333c21e
      
https://github.com/Perl/perl5/commit/70a22a9e863eafed713fb33523b1abd92333c21e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Shortcut common case

When using the POSIX 2008 locale interface, perl keeps (for the entire
lifetime of the process) an object for when all locale categories are in
the C locale.  So, if someone queries the current locale, and the C
object is the one in effect, the locale must be C, and we can return C
immediately.

This has the salubrious effect of hiding from perl bugs on some
*BSD-related platforms.  A link to a ticket to FREEBSD is in one of the
comment lines of this commit.


  Commit: 0722042ebc6bd3abfbdc96ec011f861ee209d38d
      
https://github.com/Perl/perl5/commit/0722042ebc6bd3abfbdc96ec011f861ee209d38d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Reorder #if clauses

Currently, the two clauses are about the same length, but in the next
commit the current first clause will become a lot longer.

The principal that it's easier to read code that disposes of the easy
cases first comes into play, so, reverse the clause order.


  Commit: 366c27436159e9aca671801babdf0fdb866efb98
      
https://github.com/Perl/perl5/commit/366c27436159e9aca671801babdf0fdb866efb98
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Inline only remaining use of querylocale_l()

Future commits would make this macro need to be a function anyway, and
since there is only one use of it, just inline it.  The assertion it
defines is no longer needed, as we know that the one place it is now
placed is valid.

This also adds explanatory comments


  Commit: e903a794d050c8709cf59fd1913616b2a2392bef
      
https://github.com/Perl/perl5/commit/e903a794d050c8709cf59fd1913616b2a2392bef
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Flatten two nested if's

These can be combined into a single more cohesive construct


  Commit: b0ff91e489dcb44da61deb6c4579d81b563c392e
      
https://github.com/Perl/perl5/commit/b0ff91e489dcb44da61deb6c4579d81b563c392e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move a #define, and add a comment


  Commit: 9839e11c364d3071b84e3daac54c0f73576bba86
      
https://github.com/Perl/perl5/commit/9839e11c364d3071b84e3daac54c0f73576bba86
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  XXX try reverting: locale.c: Lock around querylocale

See what passes


  Commit: 0e3713f082e2c7d66539bd830467775fd146b938
      
https://github.com/Perl/perl5/commit/0e3713f082e2c7d66539bd830467775fd146b938
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Revert "XXX try reverting: locale.c: Lock around querylocale"

This reverts commit 899565f1db40eb12fba5733b20cd63362d7e5b5f.


  Commit: af2daaa84563a72ecf9f69e4ba23513f55b0a81a
      
https://github.com/Perl/perl5/commit/af2daaa84563a72ecf9f69e4ba23513f55b0a81a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Split up S_setlocale_from_aggregate_LC_ALL

This splits out the parsing of the LC_ALL string from the locale
setting.  Future commits will use the parse portion in more places.

The new code doesn't panic on syntax errors, unlike the old.  This is
because we should never panic on user input, but return failure instead.


  Commit: 5921c506920f8f2a7ae979f193d63f003de2074f
      
https://github.com/Perl/perl5/commit/5921c506920f8f2a7ae979f193d63f003de2074f
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Create is_disparate_LC_ALL()

This macro uses the results of the new Configure probe that tells us how
the platform represents disparate LC_ALL strings.


  Commit: 4fdd8b9d65f128df1a070db59abe08c04b7f96eb
      
https://github.com/Perl/perl5/commit/4fdd8b9d65f128df1a070db59abe08c04b7f96eb
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move two helper functions for POSIX 2008 implementation


  Commit: 22f0d4e5f40958a272fecc187fb0219babf512bf
      
https://github.com/Perl/perl5/commit/22f0d4e5f40958a272fecc187fb0219babf512bf
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  Add development aid for simulating LC_ALL fake positional notation

There are two ways that systems represent LC_ALL when not all individual
categories are in the same locale.  One is
    category_name=value
pairs, and the other is a positional notation
    cat1_value|cat2_value|cat3_value|...
where the separator (here '|') varies between platforms, and the
position of a value determines which category it applies to.

This commit adds the ability to simulate a positional box on a
name=value box, so that many bugs can be found without having to access
a real positional box.


  Commit: fb9d64559d36aeb16f6c42f1b40ff9ca897d1540
      
https://github.com/Perl/perl5/commit/fb9d64559d36aeb16f6c42f1b40ff9ca897d1540
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Add support for LC_ALL positional notation

Some platforms use a positional notatiol for LC_ALL when not all
categories are the same, like

    C/English/C.UTF-8/ ...

This commit takes advantage of the new Configure probe to now handle
those when parsing an LC_ALL string.


  Commit: 8a34e710eb8f54a39b3ded608d338b72b7aa62d0
      
https://github.com/Perl/perl5/commit/8a34e710eb8f54a39b3ded608d338b72b7aa62d0
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: use variable to avoid extra comparisons

The mnemonic name also makes it clearer.  Instead of comparing two
variables multiple times, set a boolean once with the result, and use
that.


  Commit: c2f07e29a92cec43925745d0bb445164c1e5cfb3
      
https://github.com/Perl/perl5/commit/c2f07e29a92cec43925745d0bb445164c1e5cfb3
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Windows Use .ACP for sys default fallback

Prior to this commit the locale handling code thought that Windows used
"" for the system default locale.  But it's not, and to get to the
change in the initialization code, the "" had already been tried and
failed.


  Commit: e9a9c3a52fa6a964c398cbcffeb828c8ea56462b
      
https://github.com/Perl/perl5/commit/e9a9c3a52fa6a964c398cbcffeb828c8ea56462b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c
    M perl.h

  Log Message:
  -----------
  locale.c, perl.h: comments, white space


  Commit: 618312babf811825f61c64a602ac0b713de7c1af
      
https://github.com/Perl/perl5/commit/618312babf811825f61c64a602ac0b713de7c1af
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  XXX maybe not for windows: S_calculate_LC_ALL_string(): save value after 
calculation

On some platforms the string returned by this function also needs to be
kept up-to-date in an array element.  This commit changes the function
to do the update (after the potentially expensive calculation) as a
side-effect, so as to avoid unnecessary recalculations.


  Commit: 8f9f64ac19bdd14c42c49fa2b5eb0021d9d49aaf
      
https://github.com/Perl/perl5/commit/8f9f64ac19bdd14c42c49fa2b5eb0021d9d49aaf
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Precalculate LC_ALL string boiler plate length

When not all categories have the same locale, the internal
representation of LC_ALL is a sequence of 'cat=value' pairs, separated
by semi-colons.  The only things that vary are the values.  This commit
sums up the non-varying portions at compile time.


  Commit: 4b510a445fb4595a11e353ef576289bce90886ba
      
https://github.com/Perl/perl5/commit/4b510a445fb4595a11e353ef576289bce90886ba
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  S_querylocale_2008_i: Add caller's line# param

This will be helpful in debugging


  Commit: caed341d879beede688405f4c03358e7bc7f3c1c
      
https://github.com/Perl/perl5/commit/caed341d879beede688405f4c03358e7bc7f3c1c
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Calculate native LC_ALL strings

There are two methods of representing non-uniform LC_ALL strings.  One
is name=value pairs, and the other is positional.  Now that there is a
Configure probe that detects the details, calculate_LC_ALL_string() is
here enhanced to have a parameter passed to it as to which variety the
output should be in, and to generate the proper format.


  Commit: d8aa889587fdcee1001a3b26c624793eec77445a
      
https://github.com/Perl/perl5/commit/d8aa889587fdcee1001a3b26c624793eec77445a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Revamp S_stdize_locale()

We are now able to parse and construct non-uniform LC_ALL strings.  A
big part of this function was trying to deal with these, but now that
can be farmed out.

It's now extremely unlikely this function will now actually change
anything, based on recent field experience.  To save copying that
therefore won't likely ever be needed, this function now returns its
input if unchanged, and a mortalized copy if it unlikely does need to be
changed.  That means it no longer needs a buffer reserved for it.

The input is going to be the static global buffer pointed to by the
return of setlocale().  That means calls to this function need to be
protected by mutexes in threaded systems, and the result safely copied
during the critical section.  This requirement is unchanged by this
commit.


  Commit: dd93582bbdb347fe8610124510f82eb4b9b5c5e0
      
https://github.com/Perl/perl5/commit/dd93582bbdb347fe8610124510f82eb4b9b5c5e0
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M embedvar.h
    M intrpvar.h
    M locale.c
    M makedef.pl
    M perl.c
    M sv.c

  Log Message:
  -----------
  Rename the buffer in S_less_dicey_locale

It was reusing the buffer formerly used by S_stdize_locale(), but now
its only use is from this function, so name it accordingly.


  Commit: d8c7ed64109dd6b8cfc854f123f4313cd0d4121d
      
https://github.com/Perl/perl5/commit/d8c7ed64109dd6b8cfc854f123f4313cd0d4121d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_stdize_locale() Rmv testing for spurious '='

This code had been added to counteract occasional cases of improper
syntax in a locale string.  Other fixes to the locale handling have
resulted in those cases not now showing up.  It was never clear if the
changes that code made to the locale name were actually the right thing
to do.

Now, we have the ability to correctly parse locale strings on all
platforms tested on.  If there is a problem with a platform, the parsing
discovers it and returns an error, which stdize_locale() checks for and
also returns an error if found, and so on back up the line to the user
calling code.


  Commit: f708995dfa6b2d06f820c3bb867cc5345dfd63d2
      
https://github.com/Perl/perl5/commit/f708995dfa6b2d06f820c3bb867cc5345dfd63d2
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M embed.fnc
    M embed.h
    M hints/aix.sh
    M locale.c
    M proto.h

  Log Message:
  -----------
  XXX perldelta other pod: Compile stdize_setlocale() only if requested

XXX perldelta, and where else?

This very old function has been whittled down to just looking for
newlines in returned locales.  Those just haven't come up in platforms
we have tested on in recent years.  Therefore, this is extra work on
most, or perhaps all platforms.  Should a platform show that this is
still needed, its hints file can be changed to add a Configure option.


  Commit: 4208f03801e20e450fd930068a3147eeab5deb94
      
https://github.com/Perl/perl5/commit/4208f03801e20e450fd930068a3147eeab5deb94
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Properly handle broken setlocale(LC_ALL, NULL)

Early AIX versions could return a truncated value in this case.
https://www.ibm.com/support/pages/apar/IV22097

Tests were skipped as a result by
59b4d2932ceb16662879bca2a22315c3597276ae.

This commit adds an easy workaround for this bug, changes the AIX hints
page to enable it; the next commit will revert the test skipping.


  Commit: 72c05ebcf1b364127dfe665d16691d30984f35d1
      
https://github.com/Perl/perl5/commit/72c05ebcf1b364127dfe665d16691d30984f35d1
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M lib/locale.t
    M t/lib/warnings/regexec
    M t/run/locale.t

  Log Message:
  -----------
  Revert "AIX: skip some locale tests"

This reverts commit 59b4d2932ceb16662879bca2a22315c3597276ae.
which was a temporary fix for 5.38.0.

And now a workaround is in place for the defective libc implementation.


  Commit: 2fd50ca2f3dd723f27693ed28817028cd4ba383b
      
https://github.com/Perl/perl5/commit/2fd50ca2f3dd723f27693ed28817028cd4ba383b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Create STDIZED_SETLOCALE_LOCK

Its best to use a mutex associated with the operation.  This creates one
for stdized_setlocale(), which is just an alias for another mutex.


  Commit: 806a29a8deab7929a0f6b949fbfe449a8618ae5e
      
https://github.com/Perl/perl5/commit/806a29a8deab7929a0f6b949fbfe449a8618ae5e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move a macro definition earlier in the file


  Commit: 98f682cd6732f6bc596b4c1a5d84a275dbd0fb6a
      
https://github.com/Perl/perl5/commit/98f682cd6732f6bc596b4c1a5d84a275dbd0fb6a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Change DEBUG statements to include non-0 errno

This is very helpful when things go wrong.


  Commit: 88eba3794005ba869978ff8c74f141f7e0d494f6
      
https://github.com/Perl/perl5/commit/88eba3794005ba869978ff8c74f141f7e0d494f6
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Only define string constant on platforms that need it


  Commit: dc23be455f0ac9902c6009f021a41d0b2d316f59
      
https://github.com/Perl/perl5/commit/dc23be455f0ac9902c6009f021a41d0b2d316f59
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Perl_sync_locale(): Best to change to global locale

This didn't actually cause a bug AFAIK, but prior to this commit, the
comment was wrong.  The comment makes sense, so bring the code into
compliance.

The reason it was not a bug is that even though the thread remained in
the per-thread locale, it uses the global locale API to set things.


  Commit: d8833b482456d98afac70fb344117259c3ee27b2
      
https://github.com/Perl/perl5/commit/d8833b482456d98afac70fb344117259c3ee27b2
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c(): Use LC_ALL if available

Now that we have code that works on platforms with differing ways of
representing LC_ALL, we can use it instead of looping through all the
subcomponents.


  Commit: f24ac21c2ca7003cacb88dacf53d1f11a1b8e0b3
      
https://github.com/Perl/perl5/commit/f24ac21c2ca7003cacb88dacf53d1f11a1b8e0b3
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Extract code into a function

This is in preparation for a future commit where it will be called from
more than one place.


  Commit: 77f3d1ca5d66822b4fe45a549abd86879780ea57
      
https://github.com/Perl/perl5/commit/77f3d1ca5d66822b4fe45a549abd86879780ea57
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Extract code into separate function

This is in preparation for it being called from a second location in a
future commit.

Beyond the move, the only changes are to white space, and a
PERL_UNUSED_ARG.


  Commit: d358da465a2ff49c3b000215941cd89fa73e0fa5
      
https://github.com/Perl/perl5/commit/d358da465a2ff49c3b000215941cd89fa73e0fa5
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Complement initialization of boolean

This was my attempt to make the difference listing in the next commit
smaller, but it didn't help much.


  Commit: 8ddb0d70f642580e4782800ad21ab45d84774e96
      
https://github.com/Perl/perl5/commit/8ddb0d70f642580e4782800ad21ab45d84774e96
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Rework locale initialization loop

The previous code was always hard to understand, with a self-modifying
loop.  I finally figured out a clearer way to do it, by using an enum
with all the possibilities, and a switch statement that sets up the loop
for each, or decides this possibility isn't valid on this platform.  The
first possibility that works exits the loop.


  Commit: 656a8983b3d6f17dc4a11f2b7926623d7d5cdfab
      
https://github.com/Perl/perl5/commit/656a8983b3d6f17dc4a11f2b7926623d7d5cdfab
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

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


  Commit: d7062fbc58fb3f6189b7e6c6e2468dd861efbe71
      
https://github.com/Perl/perl5/commit/d7062fbc58fb3f6189b7e6c6e2468dd861efbe71
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Rmv redundant sanity check

This was done only on Windows, to verify that the perl was operating on
a system that has a working _configthreadlocale(), when our Configure
expects it to.  But the previous commit now executes this function
anyway at the endif of initialization, so that is soon enough to fail if
something is wrong, making this redundant.


  Commit: 2c68847472a85cf2a12297cc921c7c535ee9dece
      
https://github.com/Perl/perl5/commit/2c68847472a85cf2a12297cc921c7c535ee9dece
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M utf8.h

  Log Message:
  -----------
  silence utf8.h warning


  Commit: 91e13c41415e7654a85fa2b657c9b30677aa551d
      
https://github.com/Perl/perl5/commit/91e13c41415e7654a85fa2b657c9b30677aa551d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Extract code into a macro

This is in preparation for a simplification in future commits.


  Commit: 5322d2fefb29c4df8b62420d05a1319596a48b2b
      
https://github.com/Perl/perl5/commit/5322d2fefb29c4df8b62420d05a1319596a48b2b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Extend macro from previous commit

Actually this creates a macro of the same name that accomplishes the
same thing, but specifically for Windows.


  Commit: b0a4fd52994bdf7636cee931db56c5747a954428
      
https://github.com/Perl/perl5/commit/b0a4fd52994bdf7636cee931db56c5747a954428
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Don't over allocate array

This previously added an extraneous unused element.


  Commit: c3c32215d5b0133359b019ff5a9c8dbc58635ac7
      
https://github.com/Perl/perl5/commit/c3c32215d5b0133359b019ff5a9c8dbc58635ac7
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Bring declaration inside #if's

This would now cause a compilation error if the code gets screwed up.


  Commit: 02acdb0cfeee99c447e4b5fb9151315d11f66e09
      
https://github.com/Perl/perl5/commit/02acdb0cfeee99c447e4b5fb9151315d11f66e09
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Slight refactor of switch_to_global_locale()

Now that we can better handle any legal LC_ALL string, we can just use
LC_ALL when available.


  Commit: 038a31ff80920820af2906f0bb0e53d502ab04eb
      
https://github.com/Perl/perl5/commit/038a31ff80920820af2906f0bb0e53d502ab04eb
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  Perl__byte_dump_string(): Properly handle NULL input

Instead of an assert, this returns (nil) and things can proceed.


  Commit: 0b011da803181aacdaf10c2d8daf4fae10807717
      
https://github.com/Perl/perl5/commit/0b011da803181aacdaf10c2d8daf4fae10807717
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Combine two condiionals to rm special case

The case removed is handled transparently below.


  Commit: 715133236e4d0e523c4f9436edebef7ab96e72a3
      
https://github.com/Perl/perl5/commit/715133236e4d0e523c4f9436edebef7ab96e72a3
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_find_locale_from_environment(): Change var name

This variable is really the LANG environment variable; change its name
to correspond.


  Commit: 81e3a4d10ed81b4a1560ff88a240c1134ade5698
      
https://github.com/Perl/perl5/commit/81e3a4d10ed81b4a1560ff88a240c1134ade5698
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_find_locale_from_environment(): Add comments


  Commit: 82de5300d5ef1bf8095cd8a89cf617098a979fa3
      
https://github.com/Perl/perl5/commit/82de5300d5ef1bf8095cd8a89cf617098a979fa3
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_find_locale_from_environment(): Combine logic

Prior to this commit, the logic was repeated for non-LC_ALL versus
LC_ALL; the latter being executed in a loop.  The logic is not really
trivial and it would be better to have just one instance, so that it
can't get out-of-sync.  To do this, this commit moves everything to the
loop, but sets it up for the non-LC_ALL case to just do a single
iteration.

It also avoids going out to the environment and fetching LANG unless
needed.  The previous behavior got LANG unconditionally if the loop was
used.  It is quite likely that not every locale category would have a
corresponding environment variable set, so that fetch likely wasn't
wasted.  But in order to combine things, the checking for LANG is done
in the loop.

The bottom line is that there is extra code required to combine the two
pieces of logic, but I believe the combining of this into a single
paradigm is worth it.


  Commit: 6cb56b9501eea9fce5ec9d815d2ca6ab51b9e3d0
      
https://github.com/Perl/perl5/commit/6cb56b9501eea9fce5ec9d815d2ca6ab51b9e3d0
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  XXX tests; linux doesn't allow this: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 in Perl run with that environment:

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


  Commit: aea29ca27d58f166dda5f16160151e481082c5e9
      
https://github.com/Perl/perl5/commit/aea29ca27d58f166dda5f16160151e481082c5e9
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  Change parameter name for S_bool_setlocale_2008_i

THe new name is more descriptive


  Commit: 24f43691b0880dc8cc3dfd9b185cebf1a14a7cab
      
https://github.com/Perl/perl5/commit/24f43691b0880dc8cc3dfd9b185cebf1a14a7cab
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_bool_setlocale_2008_i: Improve debug statements


  Commit: ba64be04f6b94ad13279eeb2e29891b2142a1773
      
https://github.com/Perl/perl5/commit/ba64be04f6b94ad13279eeb2e29891b2142a1773
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_bool_setlocale_2008_i: Check for failure return

Previously, this would forge ahead; looking at the code it seems it
would fail later on anyway, but it is best to check and fail
immediately.


  Commit: 23a387870139c038b1283563c9dca343da571713
      
https://github.com/Perl/perl5/commit/23a387870139c038b1283563c9dca343da571713
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_bool_setlocale_2008_i: Separate out failure code

This causes the failure to be handled by going to effectively a
tail-call spot.  This is in preparation for it being used in another
place.


  Commit: bb90f5903b4006845cf44e05ad562675dec97265
      
https://github.com/Perl/perl5/commit/bb90f5903b4006845cf44e05ad562675dec97265
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move declaration closer to first use


  Commit: 7cfc3388ddaaa8ac454d55f14dd9d8316e484664
      
https://github.com/Perl/perl5/commit/7cfc3388ddaaa8ac454d55f14dd9d8316e484664
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Extract two debug statements into macros

This is in preparation for them being called from other places


  Commit: 834b445b8eb8a9d56331e5473936716a39a71ba7
      
https://github.com/Perl/perl5/commit/834b445b8eb8a9d56331e5473936716a39a71ba7
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Indent/outdent some lines

This is to make the differences in the next commit smaller


  Commit: 2e8cc9cc5214581a080b1b4436a5c7f8cfb52aa8
      
https://github.com/Perl/perl5/commit/2e8cc9cc5214581a080b1b4436a5c7f8cfb52aa8
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Rmv obsolete code

A "" input locale has been expanded by the time it gets here, so this is
never true; it is a relict from previous implementations.


  Commit: c584fa0324dacd05b535159fd4e7f57f871bd5e7
      
https://github.com/Perl/perl5/commit/c584fa0324dacd05b535159fd4e7f57f871bd5e7
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_bool_setlocale_2008_i: Copy function call.

This removes a function call from a single place and inserts it in
several.  The reason is that it makes a future commit cleaner.


  Commit: 8cb74c34d2c0829858c1416bf6c82eb6b27d51b5
      
https://github.com/Perl/perl5/commit/8cb74c34d2c0829858c1416bf6c82eb6b27d51b5
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  S_update_PL_curlocales(): Add parameter

This is the ultimate caller's line number, which will be useful in a
future commit; unused for now.


  Commit: 434e731006c9174f44dbd76458fa3a12758eb7b4
      
https://github.com/Perl/perl5/commit/434e731006c9174f44dbd76458fa3a12758eb7b4
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_update_PL_curlocales_i(): Reverse order of conditionals

The new ordering will play better with future commits


  Commit: e49680d5830cf977e50ce7f1ebff25cff5019b6e
      
https://github.com/Perl/perl5/commit/e49680d5830cf977e50ce7f1ebff25cff5019b6e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c
    M perl.h

  Log Message:
  -----------
  locale.c: Update comments, white-space in 2 functions


  Commit: b4db28105be3f405e78ddba795ec6293f354ad62
      
https://github.com/Perl/perl5/commit/b4db28105be3f405e78ddba795ec6293f354ad62
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Avoid an (unlikely) leak

As the comments say, this eventuality is unlikely to happen, but if it
did, it would mean a leak.


  Commit: 3febf76a57b2fcc796f399df85639e490b5a628b
      
https://github.com/Perl/perl5/commit/3febf76a57b2fcc796f399df85639e490b5a628b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_bool_setlocale_2008_i: Remove recursion

This converts recursive calls of this function into an iterative loop.
Besides the obvious benefits, some platforms don't even require a loop,
as a future commit will do.


  Commit: 6311cc2fe6f280c201ee9a4c910d135f51fd6489
      
https://github.com/Perl/perl5/commit/6311cc2fe6f280c201ee9a4c910d135f51fd6489
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  Rmv unused function: S_setlocale_from_aggregate_LC_ALL

Previous commits have removed all uses of this


  Commit: d39237c27bd90ec646802bbbcac01cdbb9c2adff
      
https://github.com/Perl/perl5/commit/d39237c27bd90ec646802bbbcac01cdbb9c2adff
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  S_parse_LC_ALL_string: Squash if categories are same locale

It turns out that some platforms return something like
    C/C/C/C/C/C
instead of just the equivalent 'C' when querying LC_ALL.  This can lead
to extra work for us, and unnecessary noise when displayed to the user.

This commit changes parse_LC_ALL_string() to look for this case, and to
coalesce the result to just  the single value, which is returned in just
the 0th element of the input array, leaving the other elements unused.

It makes this behavior overridable by an input flag, which will be used
in a future commit.


  Commit: c3ade7b0e291b9bf46a428b936f602095e7e85b4
      
https://github.com/Perl/perl5/commit/c3ade7b0e291b9bf46a428b936f602095e7e85b4
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_update_PL_curlocales(): accept arbitrary LC_ALL string

Prior to this commit, this function couldn't handle an LC_ALL string
that wasn't just a single locale for all categories.  But now that we
can parse a disparate string, update this function to use that.


  Commit: c33d76886610de4914c3b85e7ee33b48c08014c8
      
https://github.com/Perl/perl5/commit/c33d76886610de4914c3b85e7ee33b48c08014c8
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_setlocale_2008_i(): Use single newlocale() if available

On some platforms the newlocale() libc function when setting LC_ALL can
handle an input locale that sets some categories to one thing; and
others to another; etc.  On such platforms, we don't have to loop
through all categories individually.

This commit changes to use that if the #define indicating its
availability is set.


  Commit: 7338d17288e312f78cb5fe5b7981c3cde56025e8
      
https://github.com/Perl/perl5/commit/7338d17288e312f78cb5fe5b7981c3cde56025e8
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M embedvar.h
    M intrpvar.h
    M locale.c
    M makedef.pl
    M perl.c
    M sv.c

  Log Message:
  -----------
  XXX Partial need vutil.c first Rmv underlying numeric

This object, only on POSIX 2008 systems, is no longer used.  I've been
keeping it around in case I could figure out if it had any remaining
utility, but don't see any.


  Commit: a19fb27f9791588d701d9b89a266ef84965d410e
      
https://github.com/Perl/perl5/commit/a19fb27f9791588d701d9b89a266ef84965d410e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Use function already designed for the purpose

Instead of several initialization calls, call the overarching one that
includes them all.


  Commit: e3b085a8b12931fce439019421a9e4cedae33d5d
      
https://github.com/Perl/perl5/commit/e3b085a8b12931fce439019421a9e4cedae33d5d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Avoid a duplicate conditional


  Commit: 054a94e36a452cf96273e441a10bf35b39124e9c
      
https://github.com/Perl/perl5/commit/054a94e36a452cf96273e441a10bf35b39124e9c
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Initialize PL_cur_locale_obj


  Commit: 090a0a2960dd7be5c51e1e9b20282f879b424b4c
      
https://github.com/Perl/perl5/commit/090a0a2960dd7be5c51e1e9b20282f879b424b4c
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  XXX Initial guess as to newlocale() capability

glibc has a newlocale() that can handle disparate LC_ALL string input.
This commit is until more data is gathered.


  Commit: fc3da73fa05ba17515f95db55f3d35719440ded1
      
https://github.com/Perl/perl5/commit/fc3da73fa05ba17515f95db55f3d35719440ded1
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  Add caller location info to e.g. RESTORE_LC_NUMERIC

These help pinpointing the error source when a failure occurs.


  Commit: 299fed12ae4544189757c20d0019c14cd43b15d8
      
https://github.com/Perl/perl5/commit/299fed12ae4544189757c20d0019c14cd43b15d8
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  XXX tests,delta: Handle glibc extra locale categories

glibc has several locale categories not found in standards.  This commit
provides minimal support.


  Commit: e9313e931e0aaf16c87acd41f77b58b45cf9d919
      
https://github.com/Perl/perl5/commit/e9313e931e0aaf16c87acd41f77b58b45cf9d919
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  Properly handle ignored locale categories

perl can be compiled to ignore arbitrary locale categories that are
actually on the system.  This has never worked transparently, especially
on platforms that use postional notation to represent LC_ALL when not
all categories are set to the same locale.  The system calls will return
a string containing the ignored category, and we dont know how to handle
that.

This large commit fixes that by compiling to include the information
about all categories on the system.  But if a category is to be ignored,
instead we set it to the C locale, and thwart any effort to change it
away from that locale.


  Commit: f0b5cb17123d9d97f8f0a007710a3f26d2471edc
      
https://github.com/Perl/perl5/commit/f0b5cb17123d9d97f8f0a007710a3f26d2471edc
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Revise warnings when locale init has issues

Previously, we didn't know the possible locale categories on this
system, so grepped through the environment outputting anything that
begins with 'LC_'.  But now we do know all of them, and can just use
those.


  Commit: 7fe60400819cc23666b2f003a56b5a2d7911364e
      
https://github.com/Perl/perl5/commit/7fe60400819cc23666b2f003a56b5a2d7911364e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  S_calculate_LC_ALL_string: Add parameter

This parameter is set only when this function is being called by
Perl_setlocale().  This is purely for performance  It causes this
function to use a particular buffer and avoid extra copying.


  Commit: a8744112e473eefbdcb8e2d02daca886d637501f
      
https://github.com/Perl/perl5/commit/a8744112e473eefbdcb8e2d02daca886d637501f
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  XXX why not failing tests before this?Create S_native_querylocale_i() and use 
it

This new function differs from the already existing plain
querylocale_i() in that it returns in the platform's native format,
instead of the internal=to-perl one.

The internal one is used generally so that code doesn't have to cope
with multiple possible formats.  The format of the new locale in
Perl_setlocale() is going to be in native format.  We effectively
translate it into our internal one at the input edge, and that is used
thereafter.

But until this commit, the translation back to native format at the
output edge was incomplete.

This mostly worked because native format differs from locale.c
internal format in just two ways.

One is the locale for LC_NUMERIC.  perl keeps it generally in the C
locale, except for brief intervals which higher level code specifies,
when the real locale is swapped in.  (Actually, this isn't quite true.
If the real locale is indistinguishable from C as far as LC_NUMERIC
goes, perl is happy to use it rather than C, so as to save swapping.)
locale.c had the code in it to translate the internal format back to
native, so it worked for this case.

The other is LC_ALL when not all categories are set to the same locale.
Windows and Linux use 'name=value;' pairs notation, while things derived
from BSD (and others) use a positional notation in which only the values
are given, and the system knows which category a given value is for from
its position in the string.  Perl worked fine for the name=value pairs
notation, because that is the same as its internal one, so no
translation got done, but until this commit, there were issues on
positional platforms.  This seldom got in the way since most people, if
they set the locale at all, will just set it to some single 'foo'.

What this commit effectively does is change Perl_setlocale() to return
the value in the native format which the libc functions are expecting.
This differs from what it used to return only on platforms which use the
positional notation and only for LC_ALL when not all categories are set
to the same locale.

The new function subsumes much of the work previously done in
Perl_setlocale(), and it is able to simplify some of that work.


  Commit: 92c04e4354c12dbd30dee8b59094fd37869b80e9
      
https://github.com/Perl/perl5/commit/92c04e4354c12dbd30dee8b59094fd37869b80e9
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  XXX why: locale.c: revise new_LC_ALL

This is because we don't want to use querylocale which is expecting
things to already be set up; instead pass what should happen to finish
the setup.


  Commit: fa6c25a849d65c4aa39e4721d4c633c06554102f
      
https://github.com/Perl/perl5/commit/fa6c25a849d65c4aa39e4721d4c633c06554102f
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  f after testing


  Commit: 71ac253840078176ecfd4ef7b1c752304d92c346
      
https://github.com/Perl/perl5/commit/71ac253840078176ecfd4ef7b1c752304d92c346
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Remove no longer used macro


  Commit: 5a4d4e3f3dab651446535ce6e3ba2b6fdb4bc09f
      
https://github.com/Perl/perl5/commit/5a4d4e3f3dab651446535ce6e3ba2b6fdb4bc09f
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Add setlocale_i()

This macro is defined on Configurations where a simple unadorned
setlocale works for categories that don't have perl record keeping
involved.

This allows Perl_setlocale() to avoid a lot of unnecessary overhead for
these.

This commit defines it only for unthreaded perls.


  Commit: d20838f93c7ec77ffc31d8cff357abc84917d36e
      
https://github.com/Perl/perl5/commit/d20838f93c7ec77ffc31d8cff357abc84917d36e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
   locale.c: Move S_update_PL_curlocales()

 Prior to this commit, it was only for POSIX 2008, but a future commit
 will want to use it when not POSIX 2008.


  Commit: 65d96c7b7506c07c05dbf49759d02151f10cd0ee
      
https://github.com/Perl/perl5/commit/65d96c7b7506c07c05dbf49759d02151f10cd0ee
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 9ac803041be987e419feca46c006196cf16d0b5e
      
https://github.com/Perl/perl5/commit/9ac803041be987e419feca46c006196cf16d0b5e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Rmv unexecuted statement after croak


  Commit: 53e7e63009a582c278211351a3a00410ad94aa6c
      
https://github.com/Perl/perl5/commit/53e7e63009a582c278211351a3a00410ad94aa6c
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Improve collation debugging output

This adds a special case for when the buffer is empty


  Commit: d29ab244aa7bf2e6a2b64a32599f011cae6df682
      
https://github.com/Perl/perl5/commit/d29ab244aa7bf2e6a2b64a32599f011cae6df682
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  XXX introductory file comments


  Commit: ddf3b54a3ec68d8cb84aab058ebd7c48ea8c65e1
      
https://github.com/Perl/perl5/commit/ddf3b54a3ec68d8cb84aab058ebd7c48ea8c65e1
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Only compile workaround on platforms needing it

This code works around a bug on Windows with regard to localeconv().
And the bug only exists on such platforms that have thread-safety.
Prior to this commit, the code was compiled on platforms lacking
thread-safety, so was unnecessary.


  Commit: 1a86a8c7a83c29b60fbc4b77514cffbbf82deac1
      
https://github.com/Perl/perl5/commit/1a86a8c7a83c29b60fbc4b77514cffbbf82deac1
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M intrpvar.h
    M locale.c

  Log Message:
  -----------
  locale.c: Use wider than U32 for a counter

Processes that change locales are incrementing a counter that could
eventully wrap if the process is long-lived.  It's not likely, but it's
also easy to make this a U64 if available, and make the chances of it
happening much closer to zero.


  Commit: 3fc387eb3525363de32d9731ac7e635d12895be1
      
https://github.com/Perl/perl5/commit/3fc387eb3525363de32d9731ac7e635d12895be1
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move setting errno out of critical section

I doesn't matter much, but its better practice to make critical sections
as small as possible.


  Commit: 226f82b1f7fe282a3d14bf3a058a3764c2472709
      
https://github.com/Perl/perl5/commit/226f82b1f7fe282a3d14bf3a058a3764c2472709
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  get_win32_message_utf8ness() Fix unlikely case

This function calls get_locale_string_utf8ness_i().  The API of that
function changed earlier in the 5.37 series, and this was not updated to
correspond.  It is calling it with category 0, wich it thinks is an
out-of-bounds value, but it really is LC_ALL on Windows.  Thus it
actually probably doesn't lead to a failure, but it theoretically could
fail if LC_ALL is not uniform.

So it's better to not succeed just by accident.  This commit changes to
now use LC_CTYPE as the category.  And if someone has managed to compile
Windows without LC_CTYPE, it now just says that the input string isn't
UTF-8, as without LC_CTYPE, you've only got the C locale.


  Commit: 9362afa1f22ab8c0d20c25b04c521dafce8d14b2
      
https://github.com/Perl/perl5/commit/9362afa1f22ab8c0d20c25b04c521dafce8d14b2
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Only define a structure if needed

Without LC_NUMERIC, this structure is unused, and generates a compiler
warning.


  Commit: d711f0797123eb024a370d0c9849efab3a952f61
      
https://github.com/Perl/perl5/commit/d711f0797123eb024a370d0c9849efab3a952f61
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Add a debugging statement

This can be helpful in tracing what's happening with nl_langinfo()
calls.


  Commit: f3c260e98141c3196559cb42e7f97b546def4c7b
      
https://github.com/Perl/perl5/commit/f3c260e98141c3196559cb42e7f97b546def4c7b
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  perlapi:  Improve wording for Perl_langinfo()


  Commit: afbdb1e56801b4bda3e11019054b2706ece02391
      
https://github.com/Perl/perl5/commit/afbdb1e56801b4bda3e11019054b2706ece02391
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Critical section around initializing a global

This code should only have a race in the unlikely event that it is an
embedded perl, and there is another perl already running.  But best to
avoid the possibility at all.


  Commit: f033e488244dd0b8d9625c74adbaab8f342e18a7
      
https://github.com/Perl/perl5/commit/f033e488244dd0b8d9625c74adbaab8f342e18a7
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move #ifdef DEBUGGING

This moves it up to precede a block that only does debugging info.


  Commit: 585a4827f51873514a916728c66d441c5f8053a6
      
https://github.com/Perl/perl5/commit/585a4827f51873514a916728c66d441c5f8053a6
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_stdize_locale: Set errno if fails


  Commit: 3f71f4df05dcddf6a6dfd3bd7e34eb3ece53f626
      
https://github.com/Perl/perl5/commit/3f71f4df05dcddf6a6dfd3bd7e34eb3ece53f626
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  XXX experimental: Define setlocale_i() on unsafe threaded builds

On threaded Configurations where thread-safe locale handling is not
available, perl automatically does a modicum of prevention of races by
executing locale changes in a critical section, and copying the results
to a thread-safe location.

This commit defines setlocale_i() on such builds.  This macro is used to
bypass more complex handling required in fully thread-safe builds.

I don't see how this changes thread-safeness on the unsafe builds, and
it passes the tests, but I'm considering it experimental for now, until
later in the development cycle.


  Commit: c912831cdca199b27851de11d5193e8cd7171f5c
      
https://github.com/Perl/perl5/commit/c912831cdca199b27851de11d5193e8cd7171f5c
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M t/porting/bincompat.t

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


  Commit: b1bbf2ee0e20bc1a6f5a760ceeb000cbe8374467
      
https://github.com/Perl/perl5/commit/b1bbf2ee0e20bc1a6f5a760ceeb000cbe8374467
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M hints/darwin.sh

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


  Commit: a1805cf23225c7308a9923e757875501a589dce4
      
https://github.com/Perl/perl5/commit/a1805cf23225c7308a9923e757875501a589dce4
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: make querylocale locking conditional


  Commit: dd14bf4e560903e9f9143ead2b2e225e65aee88d
      
https://github.com/Perl/perl5/commit/dd14bf4e560903e9f9143ead2b2e225e65aee88d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M intrpvar.h

  Log Message:
  -----------
  intrpvar.h: Comments


  Commit: 948c4f9a26ce51e4aa26e5931a2b7979d3bf7c40
      
https://github.com/Perl/perl5/commit/948c4f9a26ce51e4aa26e5931a2b7979d3bf7c40
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  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 proto.h
    M sv.c

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


  Commit: 52799f97fa22f5409286af00a61f7e02593ce334
      
https://github.com/Perl/perl5/commit/52799f97fa22f5409286af00a61f7e02593ce334
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Change to use enum type

Instead of 'unsigned int', use the more restricted enum.


  Commit: 3b87457fc9534376dc6bd87aed9a5405efc3c237
      
https://github.com/Perl/perl5/commit/3b87457fc9534376dc6bd87aed9a5405efc3c237
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Compile utf8ness on platforms that need it

These two functions need to be compiled on certain other platforms than
what was happening.


  Commit: d12a855d74d59de17318237cc670bd7bb6dbc766
      
https://github.com/Perl/perl5/commit/d12a855d74d59de17318237cc670bd7bb6dbc766
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Silence compiler warning on some platforms

This argument isn't used on some platforms.


  Commit: 483742824fc84c1e0b87f91318792643a6222b62
      
https://github.com/Perl/perl5/commit/483742824fc84c1e0b87f91318792643a6222b62
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M Configure
    M locale.c
    M metaconfig.h
    M perl.h

  Log Message:
  -----------
  f Configure


  Commit: f5be16f39757fbdfb8d5cd4a5e972824748977a2
      
https://github.com/Perl/perl5/commit/f5be16f39757fbdfb8d5cd4a5e972824748977a2
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M Configure
    M locale.c
    M metaconfig.h
    M perl.h

  Log Message:
  -----------
  Revert "f Configure"

This reverts commit 12d2cfd3fbf933bbbfb52a448d8bdda62f7ac100.


  Commit: e9212c5a141482ec8318bb7b42e68b2f2f76aee8
      
https://github.com/Perl/perl5/commit/e9212c5a141482ec8318bb7b42e68b2f2f76aee8
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M makedef.pl

  Log Message:
  -----------
  drop when Configure fixed


  Commit: 9de9bbb38e2ff3cf2be1683a38df46ba5537de78
      
https://github.com/Perl/perl5/commit/9de9bbb38e2ff3cf2be1683a38df46ba5537de78
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M makedef.pl

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


  Commit: 4c6cbbca9bc8cc7cb3ac790811c321fc394af9ad
      
https://github.com/Perl/perl5/commit/4c6cbbca9bc8cc7cb3ac790811c321fc394af9ad
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M makedef.pl

  Log Message:
  -----------
  makedef.pl: Move comment


  Commit: 41feb69761d7f430bc91b4251ba99d9578e94a9f
      
https://github.com/Perl/perl5/commit/41feb69761d7f430bc91b4251ba99d9578e94a9f
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M makedef.pl

  Log Message:
  -----------
  Maybe drop: makedef.pl: Move code


  Commit: f1d1300126d1beab3601eaa893845fba82d6023e
      
https://github.com/Perl/perl5/commit/f1d1300126d1beab3601eaa893845fba82d6023e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M makedef.pl

  Log Message:
  -----------
  makedef.pl: Remove obsolete symbol


  Commit: cf3eb3c59d3266202a73aa4f72d7286baca777b7
      
https://github.com/Perl/perl5/commit/cf3eb3c59d3266202a73aa4f72d7286baca777b7
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 426ce85d1fe576a1b037ee5a0fced2ebcda86a55
      
https://github.com/Perl/perl5/commit/426ce85d1fe576a1b037ee5a0fced2ebcda86a55
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  Fix mingw locale builds

Experience has shown that mingw with an older runtime library doesn't
have more modern Windows features working properly.  This commit causes
it to compile with workarounds, but allows the user to

-Accflags='-DUCRT_USED'

to indicate to Configure that the code will be using the modern CRT.


  Commit: 6c3fd310b5872c64be0df754daff44279e20a9fb
      
https://github.com/Perl/perl5/commit/6c3fd310b5872c64be0df754daff44279e20a9fb
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 0f10410ef8ed0cafd77e2ea637c80bbb79d654df
      
https://github.com/Perl/perl5/commit/0f10410ef8ed0cafd77e2ea637c80bbb79d654df
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: Add detail to locale mutex debug


  Commit: 7156e65bd61aae11389184827af9f00ef8044984
      
https://github.com/Perl/perl5/commit/7156e65bd61aae11389184827af9f00ef8044984
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c
    M perl.h

  Log Message:
  -----------
  XXX remaining loose ends


  Commit: dee3a2621fa0e45e9f6dbab68d2eb765f37e6ec1
      
https://github.com/Perl/perl5/commit/dee3a2621fa0e45e9f6dbab68d2eb765f37e6ec1
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

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


  Commit: 95898f85ec6932a2fdc698e212be48c90071b207
      
https://github.com/Perl/perl5/commit/95898f85ec6932a2fdc698e212be48c90071b207
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  use enum, maybe drop


  Commit: 248a16e35ed7cfcfcf62c40b15b1aad2a8c3d4dc
      
https://github.com/Perl/perl5/commit/248a16e35ed7cfcfcf62c40b15b1aad2a8c3d4dc
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Revert "prev commit"

This reverts commit 4be10ec67fb8fef94cb573a8f7b51cb23610517f.


  Commit: f2d2273f2bc22edae37ab820cd731f4d108fcf12
      
https://github.com/Perl/perl5/commit/f2d2273f2bc22edae37ab820cd731f4d108fcf12
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  more cat index enum


  Commit: f0dc7073204644fb76982d59e558655042b4781a
      
https://github.com/Perl/perl5/commit/f0dc7073204644fb76982d59e558655042b4781a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  XXX temp: dist/Tie-File/t/29a_upcopy.t: Up alarm


  Commit: 90c5c6c27122b3ef985f91a8db1151877f0999f3
      
https://github.com/Perl/perl5/commit/90c5c6c27122b3ef985f91a8db1151877f0999f3
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 99eacb7306447c6b6623400baf7b896db8aa7e8e
      
https://github.com/Perl/perl5/commit/99eacb7306447c6b6623400baf7b896db8aa7e8e
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h fixup


  Commit: 3b8b26159476b1110e96d16e331697a805c5635a
      
https://github.com/Perl/perl5/commit/3b8b26159476b1110e96d16e331697a805c5635a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M Configure

  Log Message:
  -----------
  f Configure for positional


  Commit: 7a5121d26430ec4d56eda798c15037da7a7d1640
      
https://github.com/Perl/perl5/commit/7a5121d26430ec4d56eda798c15037da7a7d1640
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  fixup init for C C C C C


  Commit: b1111676c8c506699afe183b22197824b14f0688
      
https://github.com/Perl/perl5/commit/b1111676c8c506699afe183b22197824b14f0688
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  perlapi: Fix strftime inaccuracies, clarify


  Commit: 5c9449b4e85a1f11302d99a14619896eb01e2380
      
https://github.com/Perl/perl5/commit/5c9449b4e85a1f11302d99a14619896eb01e2380
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  Set errno when my_strftime() fails.

The libc strftime() doesn't have any way to distinguish between
erroneous input and that which just doesn't generate any output; hence
it doesn't set errno.

But my_strftime() has logic to reasonably confidently make that
distinction, so it should set errno when it determines that it is
erroneous input.


  Commit: 9d6679050b915ed07bd1df5f46b9be5e17ef9462
      
https://github.com/Perl/perl5/commit/9d6679050b915ed07bd1df5f46b9be5e17ef9462
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

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


  Commit: 814d835a8ae2d19ddc6c294d3986e30be8e6a312
      
https://github.com/Perl/perl5/commit/814d835a8ae2d19ddc6c294d3986e30be8e6a312
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Simplify S_new_ctype

By creating a temporary variable, an else is eliminated, and the
lock/unlock are brought close together.


  Commit: 341d0bee81584c3adbf93b635de6654556503b2f
      
https://github.com/Perl/perl5/commit/341d0bee81584c3adbf93b635de6654556503b2f
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M dist/threads/threads.xs
    M embed.fnc
    M locale.c
    M perl.h
    M proto.h
    M util.c
    M win32/win32thread.c

  Log Message:
  -----------
  switch_locale_context: Add aTHX

This fixes GH #21040

Instead of a dTHX, this passes aTHX automatically, and skips calling
this function if there is no valid context.

It moves that decision into the macro itself, avoiding some #ifdef
directives.

And it adds explanation

f


  Commit: 3f5eb09718fe0ace2cb305df51899dfd6df79152
      
https://github.com/Perl/perl5/commit/3f5eb09718fe0ace2cb305df51899dfd6df79152
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  strftime: Always restore LC_CTYPE locale

my_strftime toggles LC_CTYPE to match LC_TIME to avoid mojibake.

In reading the code, I realized that there was a code path that doesn't
properly restore it, namely when failure is returned.  This commit fixes
that.


  Commit: be77a89d526e4bf21113ff93da7656ad119fced1
      
https://github.com/Perl/perl5/commit/be77a89d526e4bf21113ff93da7656ad119fced1
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  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: 0a46ad3a45b95d3f94b760f5ceb18ec4711e9e24
      
https://github.com/Perl/perl5/commit/0a46ad3a45b95d3f94b760f5ceb18ec4711e9e24
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

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

This supported core function 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
substituted, but far better than nothing.


  Commit: 1b7c1b7ef76572b7f887e744999889907414d31a
      
https://github.com/Perl/perl5/commit/1b7c1b7ef76572b7f887e744999889907414d31a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  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: a7ededdf7c6cfd701c94440a68cfbfcbe572d7cb
      
https://github.com/Perl/perl5/commit/a7ededdf7c6cfd701c94440a68cfbfcbe572d7cb
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Don't compile unreachable code

This code is attempting to compute the nl_langinfo() codeset of the
current locale.  If there is no LC_CTYPE available on the system, the
codeset must be 'C', and the only callers to this static function know
that, and return that answer without calling this function.  That means
this part of the function will never be executed.  So don't compile it.


  Commit: ccceda951fd5dde75f568747cef3fdd1befe2ed6
      
https://github.com/Perl/perl5/commit/ccceda951fd5dde75f568747cef3fdd1befe2ed6
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M embedvar.h
    M intrpvar.h
    M locale.c
    M makedef.pl

  Log Message:
  -----------
  locale.c: Prevent infinite recursion

This could happen on the very rare platform that isn't Windows, nor
supports nl_langinfo(), and has a buggy (or non-existent) mbtowc().

The code implements nl_langinfo() itself by recursion, and for some
locales could end up recursing indefinitely.  This commit adds guards to
prevent that.


  Commit: 52765195477c3e7cdddaf70c36e116512251f161
      
https://github.com/Perl/perl5/commit/52765195477c3e7cdddaf70c36e116512251f161
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: Add DISABLE_LC_NUMERIC_CHANGES macro

This is for code that needs to keep other code from changing LC_NUMERIC
out from under it, but avoids the knowledge of PL_numeric_standard,
which is used when perl controls the locale handling.

This is designed for 'version' (vutil.c) to use, because it has to
operate seamlessly in the mode where perl controls the handling, and
when it doesn't, even if it doesn't know it doesn't.


  Commit: a9252b9cf9b64e5cc84ed130c89556b06b9cf207
      
https://github.com/Perl/perl5/commit/a9252b9cf9b64e5cc84ed130c89556b06b9cf207
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: Remove extraneous ';'


  Commit: 17f1d84806d100f882b5f90788c50c96f1be8501
      
https://github.com/Perl/perl5/commit/17f1d84806d100f882b5f90788c50c96f1be8501
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: localeconv() isn't broken on Windows unthreaded

Nor is it broken if compiled without per-thread locale handling.  The
bug in it until VS 2015 was that it always looked at the global locale.
When the only locale available is the global one, there is not breakage.

This commit thus avoids compiling workaround code for the bug when it
isn't necessary.


  Commit: 2ad88e660c69901d39b6a557686d110b5b401281
      
https://github.com/Perl/perl5/commit/2ad88e660c69901d39b6a557686d110b5b401281
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M thread.h

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

Indent some nested preproccessor defines


  Commit: 7ccec10ec8ccdd9bb74c8f7af3367c16300e87cc
      
https://github.com/Perl/perl5/commit/7ccec10ec8ccdd9bb74c8f7af3367c16300e87cc
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M win32/Makefile

  Log Message:
  -----------
  win32 perl mem log


  Commit: b562f459950d26b53906b41fcf136048645e7737
      
https://github.com/Perl/perl5/commit/b562f459950d26b53906b41fcf136048645e7737
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M ext/POSIX/t/time.t

  Log Message:
  -----------
  time.t


  Commit: 5896e74de3e823637b5d33ab244120f4ff7f1f69
      
https://github.com/Perl/perl5/commit/5896e74de3e823637b5d33ab244120f4ff7f1f69
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M ext/POSIX/t/time.t

  Log Message:
  -----------
  POSIX/t/time.t: Remove no longer necessary code

POSIX::strftime() now automatically handles the case where the locales of
LC_TIME and LC_CTYPE aren't the same.  So no need to explicitly do this
in the test file.


  Commit: 70c6b7615d9fc0455c5a77d9e61e7b68fd5bc9ac
      
https://github.com/Perl/perl5/commit/70c6b7615d9fc0455c5a77d9e61e7b68fd5bc9ac
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M ext/POSIX/t/time.t

  Log Message:
  -----------
  XXX see how affects earlier commits: time.t: Add more strftime tests


  Commit: f4f5d04f3debd5ce61200361db69aed69cda1400
      
https://github.com/Perl/perl5/commit/f4f5d04f3debd5ce61200361db69aed69cda1400
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  locale.c: Split my_strftime into 2 functions

Future commits will want the individual functionality the two provided
separately.


  Commit: f7572b68a0f5a2069ec28a61dc7cbb03b8ad7753
      
https://github.com/Perl/perl5/commit/f7572b68a0f5a2069ec28a61dc7cbb03b8ad7753
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Move my_strftime() within the file

This will be more logically placed after future commits


  Commit: 643e63a85bdb28c9ba9a0d259686bcaf437fb2ce
      
https://github.com/Perl/perl5/commit/643e63a85bdb28c9ba9a0d259686bcaf437fb2ce
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M embed.fnc
    M embed.h
    M ext/POSIX/POSIX.xs
    M locale.c
    M proto.h

  Log Message:
  -----------
  Implement sv_strftime_tm and sv_strftime_ints

These two functions are designed to free the caller from having to know
anything about the intricacies of handling UTF-8 in using strftime(), as
they take SV inputs and return an SV with the UTF-8 flag appropriately
set.

They differ only in that one takes a bunch of integer arguments that
define the various components of the time; and the other takes a pointer
to a struct tm.

The POSIX implementation of strftime is converted to use these.


  Commit: 1a06431ed4da0aaa2af0a9721ae4a6d589cc5d0a
      
https://github.com/Perl/perl5/commit/1a06431ed4da0aaa2af0a9721ae4a6d589cc5d0a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  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: 1777e063dca90a988fee7a03904752c71059a2b3
      
https://github.com/Perl/perl5/commit/1777e063dca90a988fee7a03904752c71059a2b3
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

  Log Message:
  -----------
  Implement sv_strftime_tm and sv_strftime_ints

These two functions are designed to free the caller from having to know
anything about the intricacies of handling UTF-8 in using strftime(), as
they take SV inputs and return an SV with the UTF-8 flag appropriately
set.

They differ only in that one takes a bunch of integer arguments that
define the various components of the time; and the other takes a pointer
to a struct tm.

The POSIX implementation of strftime is converted to use these.


  Commit: b4fe07a8e754a67e2a4e27d66c5132c60f5cfe38
      
https://github.com/Perl/perl5/commit/b4fe07a8e754a67e2a4e27d66c5132c60f5cfe38
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  S_get_locale_string_utf8ness_i: Fix return

If the input is NULL, the utf8ness of the string isn't NO, but actually,
IMMATERIAL, as there is nothing there that matters


  Commit: c4f0b2ebb9f340bf833a2ad4c31958e82b7cafd9
      
https://github.com/Perl/perl5/commit/c4f0b2ebb9f340bf833a2ad4c31958e82b7cafd9
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Avoid work that would be thrown away

If the caller to this function doesn't care about the UTF-8ness of the
result, no need to calculate it.


  Commit: a913f34fadd8c6bf202142a9ef322d1cfb877021
      
https://github.com/Perl/perl5/commit/a913f34fadd8c6bf202142a9ef322d1cfb877021
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

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

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


  Commit: a73df4183c76cc48a2bd11fab38d4f953bfde286
      
https://github.com/Perl/perl5/commit/a73df4183c76cc48a2bd11fab38d4f953bfde286
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  dregs


  Commit: 3dabf1b22cd5ae92dce2c80f7555bc46a3cf9271
      
https://github.com/Perl/perl5/commit/3dabf1b22cd5ae92dce2c80f7555bc46a3cf9271
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M locale.c

  Log Message:
  -----------
  locale.c: Slightly change wording of DEBUG messages

This makes them more consistent with the other messages in this file.


  Commit: d2c206a0dd2f2eb19e78f6476631d3a75f68f15a
      
https://github.com/Perl/perl5/commit/d2c206a0dd2f2eb19e78f6476631d3a75f68f15a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M util.c

  Log Message:
  -----------
  util.c: Better panic messages


  Commit: 6b3380aca058a518bdfacae1d7f21c50c4193c9a
      
https://github.com/Perl/perl5/commit/6b3380aca058a518bdfacae1d7f21c50c4193c9a
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M win32/Makefile

  Log Message:
  -----------
  win32 Makefile


  Commit: 0de5320816e19d090bff45f2f0b1d3547a10d69d
      
https://github.com/Perl/perl5/commit/0de5320816e19d090bff45f2f0b1d3547a10d69d
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M sv.c

  Log Message:
  -----------
  sv.c: add debug stmt


  Commit: 86a489288bc2563a33782ba6d7e7f75fa51bfdbc
      
https://github.com/Perl/perl5/commit/86a489288bc2563a33782ba6d7e7f75fa51bfdbc
  Author: Karl Williamson <[email protected]>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M embed.fnc
    M ext/POSIX/t/time.t
    M ext/XS-APItest/t/locale.t
    M intrpvar.h
    M lib/locale.t
    M locale.c
    M makedef.pl
    M perl.h
    M pod/perlhacktips.pod
    M proto.h
    M sv.c
    M t/loc_tools.pl
    M t/op/lc.t
    M t/porting/customized.dat
    M t/re/pat.t
    M t/run/locale.t
    M util.c
    M win32/perlhost.h

  Log Message:
  -----------
  l


Compare: https://github.com/Perl/perl5/compare/19e12d72f203...86a489288bc2

Reply via email to