Branch: refs/heads/smoke-me/khw-env
  Home:   https://github.com/Perl/perl5
  Commit: 450fca8d9c174fcf826875d18214dff5318f02ce
      
https://github.com/Perl/perl5/commit/450fca8d9c174fcf826875d18214dff5318f02ce
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/harness

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


  Commit: 7e8f415e83dfb55793982b12752136ac4851e5aa
      
https://github.com/Perl/perl5/commit/7e8f415e83dfb55793982b12752136ac4851e5aa
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: fe5a44117ed34dd2954bb5ebb14744312d477afa
      
https://github.com/Perl/perl5/commit/fe5a44117ed34dd2954bb5ebb14744312d477afa
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 605fdd04c21f84526c780b0c817fb63359c9a534
      
https://github.com/Perl/perl5/commit/605fdd04c21f84526c780b0c817fb63359c9a534
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/TEST

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


  Commit: cb71e6a86e57eaf76c574203d6b82201d5db6ed9
      
https://github.com/Perl/perl5/commit/cb71e6a86e57eaf76c574203d6b82201d5db6ed9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 637da5444fa2c3ef2cad0be6e148802b07caee9b
      
https://github.com/Perl/perl5/commit/637da5444fa2c3ef2cad0be6e148802b07caee9b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 6e466ed339f2c6f9ef854b12bef0daa497abe94f
      
https://github.com/Perl/perl5/commit/6e466ed339f2c6f9ef854b12bef0daa497abe94f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/test.pl

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


  Commit: a4eb54e2ce861b27dc7f9308fc70daaa781c5937
      
https://github.com/Perl/perl5/commit/a4eb54e2ce861b27dc7f9308fc70daaa781c5937
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/test.pl

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

This reverts commit 1579ce0dbce549cb594214ba27d4e2fa389f891b.


  Commit: 14439d6b4ce292f2d4fb4c57c402b73faedf734b
      
https://github.com/Perl/perl5/commit/14439d6b4ce292f2d4fb4c57c402b73faedf734b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/run/locale.t

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


  Commit: eb2d97378097066ab7fe008ee3d97516ad00bfee
      
https://github.com/Perl/perl5/commit/eb2d97378097066ab7fe008ee3d97516ad00bfee
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/run/locale.t

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


  Commit: ebc058da54dec4b16a4a07e6e55e6d3b44b70082
      
https://github.com/Perl/perl5/commit/ebc058da54dec4b16a4a07e6e55e6d3b44b70082
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e797487fe7588b6f30e91db8ee4c6a1807550644
      
https://github.com/Perl/perl5/commit/e797487fe7588b6f30e91db8ee4c6a1807550644
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 721d1a4e372521ac514fc011d9234ae5ad81abce
      
https://github.com/Perl/perl5/commit/721d1a4e372521ac514fc011d9234ae5ad81abce
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M vutil.c

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


  Commit: cdf461c65aaa7cfb80eaca91301930cc141fdde9
      
https://github.com/Perl/perl5/commit/cdf461c65aaa7cfb80eaca91301930cc141fdde9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 2e7708f2d12e8bae34ddfbe1b85b7858bf2162c3
      
https://github.com/Perl/perl5/commit/2e7708f2d12e8bae34ddfbe1b85b7858bf2162c3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 3ad7655f04d67a3b01e98b039690ccaf5b7b3cc6
      
https://github.com/Perl/perl5/commit/3ad7655f04d67a3b01e98b039690ccaf5b7b3cc6
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 2650d827f0475d1765a6dbb3e73e0b88137b50cd
      
https://github.com/Perl/perl5/commit/2650d827f0475d1765a6dbb3e73e0b88137b50cd
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M vutil.c

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


  Commit: 019d79115eea404a8567ca555184b21eb2e9e9e6
      
https://github.com/Perl/perl5/commit/019d79115eea404a8567ca555184b21eb2e9e9e6
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: fb92b32ed2e049359e570e960bfee0c48b8ea48d
      
https://github.com/Perl/perl5/commit/fb92b32ed2e049359e570e960bfee0c48b8ea48d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: c845e69b29064cc782e6ac4c1f3e1da5c0f61cc4
      
https://github.com/Perl/perl5/commit/c845e69b29064cc782e6ac4c1f3e1da5c0f61cc4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 457a1ce0833a5345b58b1eeb72b4b68c43ace488
      
https://github.com/Perl/perl5/commit/457a1ce0833a5345b58b1eeb72b4b68c43ace488
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/porting/cmp_version.t

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


  Commit: 83db772dd702606cafe516fd2598fa65a8045eff
      
https://github.com/Perl/perl5/commit/83db772dd702606cafe516fd2598fa65a8045eff
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 05500982c69b0a97cf53b40f7e526a03c4bb49d9
      
https://github.com/Perl/perl5/commit/05500982c69b0a97cf53b40f7e526a03c4bb49d9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 8cc6fe8d1ff4d54e1f8a6dd18fcad85f9754bd81
      
https://github.com/Perl/perl5/commit/8cc6fe8d1ff4d54e1f8a6dd18fcad85f9754bd81
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M Configure

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


  Commit: 3465abf214a059bcd419c3e62d55cfacc48408b2
      
https://github.com/Perl/perl5/commit/3465abf214a059bcd419c3e62d55cfacc48408b2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 9bb3f79f024770c5cb0158239987b051a8b99656
      
https://github.com/Perl/perl5/commit/9bb3f79f024770c5cb0158239987b051a8b99656
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 837015f9b779ae03d8906b0b9cc0812526ecba17
      
https://github.com/Perl/perl5/commit/837015f9b779ae03d8906b0b9cc0812526ecba17
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 1dfae386b07c4dc56eebd998a50bd3389c67f312
      
https://github.com/Perl/perl5/commit/1dfae386b07c4dc56eebd998a50bd3389c67f312
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: ddada25ee81bc073a555b174f150cf9e7b2a5c2f
      
https://github.com/Perl/perl5/commit/ddada25ee81bc073a555b174f150cf9e7b2a5c2f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 704c6fba98939012b4e911d800eca5bec4714074
      
https://github.com/Perl/perl5/commit/704c6fba98939012b4e911d800eca5bec4714074
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M intrpvar.h
    M perl.h

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


  Commit: 5888ba5be034e211160f0e81d744396d8485de63
      
https://github.com/Perl/perl5/commit/5888ba5be034e211160f0e81d744396d8485de63
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M makedef.pl
    M perl.h

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


  Commit: 4c97472cfd5e0b05bfe9881c1d6a299d0005a68b
      
https://github.com/Perl/perl5/commit/4c97472cfd5e0b05bfe9881c1d6a299d0005a68b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 92f7b780c43651690d4af90983ee8591700962af
      
https://github.com/Perl/perl5/commit/92f7b780c43651690d4af90983ee8591700962af
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 95b49620ac5acbcde0a4d91dd24a7d09b3b1e084
      
https://github.com/Perl/perl5/commit/95b49620ac5acbcde0a4d91dd24a7d09b3b1e084
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 0fc31f12ba6c90741721d5fac882b3d24662401b
      
https://github.com/Perl/perl5/commit/0fc31f12ba6c90741721d5fac882b3d24662401b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f7105723d40cc19f759a20efbeb361c3a8c299d4
      
https://github.com/Perl/perl5/commit/f7105723d40cc19f759a20efbeb361c3a8c299d4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 7c67752ad35deedbd99c0c2f3f9bcf35566fa9e7
      
https://github.com/Perl/perl5/commit/7c67752ad35deedbd99c0c2f3f9bcf35566fa9e7
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: d7b970b8f20dd322ac402073ef66a7d57c2faab8
      
https://github.com/Perl/perl5/commit/d7b970b8f20dd322ac402073ef66a7d57c2faab8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 490558b04fc34f10fafdd143f6e584b4b42abc73
      
https://github.com/Perl/perl5/commit/490558b04fc34f10fafdd143f6e584b4b42abc73
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e34d656e762635dd8e9edd3813714de151dc0f33
      
https://github.com/Perl/perl5/commit/e34d656e762635dd8e9edd3813714de151dc0f33
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: b82ae84a4838a92e35de916709c2bc38221962b6
      
https://github.com/Perl/perl5/commit/b82ae84a4838a92e35de916709c2bc38221962b6
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 532dcb5eb4927c11ccfc66504031a2319153ba84
      
https://github.com/Perl/perl5/commit/532dcb5eb4927c11ccfc66504031a2319153ba84
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 0657dc4bda65c8598be2fedf56019afe5bd2b2fa
      
https://github.com/Perl/perl5/commit/0657dc4bda65c8598be2fedf56019afe5bd2b2fa
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 394a7745ad40ed06f5f30deb811583d7e738dfcc
      
https://github.com/Perl/perl5/commit/394a7745ad40ed06f5f30deb811583d7e738dfcc
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 9988441671bcae51280804b827f35cc60ab7d012
      
https://github.com/Perl/perl5/commit/9988441671bcae51280804b827f35cc60ab7d012
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M lib/locale_threads.t

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


  Commit: 7baa7703a0f33c6d493f6a8253092c40d1810848
      
https://github.com/Perl/perl5/commit/7baa7703a0f33c6d493f6a8253092c40d1810848
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: b1342fada5879913378e8d1d833893c976e6bc8f
      
https://github.com/Perl/perl5/commit/b1342fada5879913378e8d1d833893c976e6bc8f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 265c1227bb58c318248aab3e0c76d3d226ef2818
      
https://github.com/Perl/perl5/commit/265c1227bb58c318248aab3e0c76d3d226ef2818
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: e8ccdbafc59a534216baca73270641f1c402d332
      
https://github.com/Perl/perl5/commit/e8ccdbafc59a534216baca73270641f1c402d332
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 3a62e6d0636bea5fe237c51fe1e652fa569c9c9a
      
https://github.com/Perl/perl5/commit/3a62e6d0636bea5fe237c51fe1e652fa569c9c9a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/loc_tools.pl

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


  Commit: 951831cd35fcb72a1c4a29de355a32c12719a5a5
      
https://github.com/Perl/perl5/commit/951831cd35fcb72a1c4a29de355a32c12719a5a5
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/loc_tools.pl

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


  Commit: 143e4c6f93d99b360165457d70c1c3c887c51670
      
https://github.com/Perl/perl5/commit/143e4c6f93d99b360165457d70c1c3c887c51670
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: ded138e55c4c7a3032734b5b7c157d68eff23884
      
https://github.com/Perl/perl5/commit/ded138e55c4c7a3032734b5b7c157d68eff23884
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 2c13be4f430439a3646dbc5770289e9ff5fe753f
      
https://github.com/Perl/perl5/commit/2c13be4f430439a3646dbc5770289e9ff5fe753f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e04d3929f208954ba8aa0f815d9a49df931452ba
      
https://github.com/Perl/perl5/commit/e04d3929f208954ba8aa0f815d9a49df931452ba
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 8407d52d70bb07ce736fe53775848931a1a5d07b
      
https://github.com/Perl/perl5/commit/8407d52d70bb07ce736fe53775848931a1a5d07b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 1cb358bb488d24c8300901f0720e266008e7c51f
      
https://github.com/Perl/perl5/commit/1cb358bb488d24c8300901f0720e266008e7c51f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: bfb2c6354ccfb87c595c246ba080c39e095c3de0
      
https://github.com/Perl/perl5/commit/bfb2c6354ccfb87c595c246ba080c39e095c3de0
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/harness

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


  Commit: 482baca6a18d008b23057ede5bfd6719d9864afd
      
https://github.com/Perl/perl5/commit/482baca6a18d008b23057ede5bfd6719d9864afd
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M pod/perllocale.pod

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


  Commit: 0b8bf2533fed3f463ea155c165bd553bafa142c2
      
https://github.com/Perl/perl5/commit/0b8bf2533fed3f463ea155c165bd553bafa142c2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M lib/locale_threads.t

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


  Commit: ccf40605f69fd260f66988d9f3775e5ed926fca1
      
https://github.com/Perl/perl5/commit/ccf40605f69fd260f66988d9f3775e5ed926fca1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 6ac3477a682b664b0c21a44b9ca29af4a7483546
      
https://github.com/Perl/perl5/commit/6ac3477a682b664b0c21a44b9ca29af4a7483546
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: eecdf3fed268d7ef7ab0e9cc1bb4cbed9a55930b
      
https://github.com/Perl/perl5/commit/eecdf3fed268d7ef7ab0e9cc1bb4cbed9a55930b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 20cf254adbc4c5fc6236c60a47e50e619a71bfed
      
https://github.com/Perl/perl5/commit/20cf254adbc4c5fc6236c60a47e50e619a71bfed
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M lib/locale.t

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


  Commit: 33f7f79c82f79f395d5eeb9cfd04bc2b80653749
      
https://github.com/Perl/perl5/commit/33f7f79c82f79f395d5eeb9cfd04bc2b80653749
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M lib/locale.t

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


  Commit: 0089b44c13032a39dc60641a749cf637d7afd54a
      
https://github.com/Perl/perl5/commit/0089b44c13032a39dc60641a749cf637d7afd54a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M lib/locale.t

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


  Commit: c6218e1ce3e767dfe67d4dd60d197577ce12f5ea
      
https://github.com/Perl/perl5/commit/c6218e1ce3e767dfe67d4dd60d197577ce12f5ea
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M pod/perlhacktips.pod

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


  Commit: 128c8ba108f0f8ffd151e081e9b86f159db40f38
      
https://github.com/Perl/perl5/commit/128c8ba108f0f8ffd151e081e9b86f159db40f38
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M handy.h

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


  Commit: 159e3f9810c395bafe4f1a0cdc68f6746c7e441a
      
https://github.com/Perl/perl5/commit/159e3f9810c395bafe4f1a0cdc68f6746c7e441a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M iperlsys.h

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


  Commit: 63991342243bd7695ec913b75a6dd06ef2f05934
      
https://github.com/Perl/perl5/commit/63991342243bd7695ec913b75a6dd06ef2f05934
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M regen/reentr.pl

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


  Commit: 9526fe4f73ded83e4e1cd271ed8cfdedd551b037
      
https://github.com/Perl/perl5/commit/9526fe4f73ded83e4e1cd271ed8cfdedd551b037
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M regexec.c

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


  Commit: c2d77164ee8c8d6149ebff8cad47765be00aa6ed
      
https://github.com/Perl/perl5/commit/c2d77164ee8c8d6149ebff8cad47765be00aa6ed
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M sv.c

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


  Commit: cc05f657a2abff2d9adb3501772b7baca3df762c
      
https://github.com/Perl/perl5/commit/cc05f657a2abff2d9adb3501772b7baca3df762c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 98420c9d52f26b53ea03adcd44ad7d60780683af
      
https://github.com/Perl/perl5/commit/98420c9d52f26b53ea03adcd44ad7d60780683af
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: cd0b39ad214136ccf1fbd7325fe519a171d3503a
      
https://github.com/Perl/perl5/commit/cd0b39ad214136ccf1fbd7325fe519a171d3503a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M pp.c

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


  Commit: be3afd7d6ea5578f4e9fb9aeb7674d1fa758ac3c
      
https://github.com/Perl/perl5/commit/be3afd7d6ea5578f4e9fb9aeb7674d1fa758ac3c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M pod/perlmod.pod

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


  Commit: 2e1cd978b1336a7002d4411f042ec3b92c92d153
      
https://github.com/Perl/perl5/commit/2e1cd978b1336a7002d4411f042ec3b92c92d153
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: dc99856263cf05658bfdfe8a3d97757f4146bb57
      
https://github.com/Perl/perl5/commit/dc99856263cf05658bfdfe8a3d97757f4146bb57
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 254ebaac08bd908ff59feabb9e714942365c1ca1
      
https://github.com/Perl/perl5/commit/254ebaac08bd908ff59feabb9e714942365c1ca1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 5dfd7e93e7f721dcfce5d437fe4b85857fa38dd0
      
https://github.com/Perl/perl5/commit/5dfd7e93e7f721dcfce5d437fe4b85857fa38dd0
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 7fe542560d376901323acfbcd131d4ec574a35da
      
https://github.com/Perl/perl5/commit/7fe542560d376901323acfbcd131d4ec574a35da
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: b5dc8489f7136f976d72813933ccea1c46840c73
      
https://github.com/Perl/perl5/commit/b5dc8489f7136f976d72813933ccea1c46840c73
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 6df15795874bd107cae86ad2055de0c2c0459ba1
      
https://github.com/Perl/perl5/commit/6df15795874bd107cae86ad2055de0c2c0459ba1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f8bde6ce364023bdc261e2e42da2026ee3b8c2ef
      
https://github.com/Perl/perl5/commit/f8bde6ce364023bdc261e2e42da2026ee3b8c2ef
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: d93750c2585588aea0888a2b993f0abe539dfe88
      
https://github.com/Perl/perl5/commit/d93750c2585588aea0888a2b993f0abe539dfe88
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M embed.fnc
    M proto.h

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


  Commit: 1f0c268a8a29a4c1de5042fcd6bbdb2c030cc9e9
      
https://github.com/Perl/perl5/commit/1f0c268a8a29a4c1de5042fcd6bbdb2c030cc9e9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e21756127a5f788d127aa1014055e3a8a1555a94
      
https://github.com/Perl/perl5/commit/e21756127a5f788d127aa1014055e3a8a1555a94
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 4d1d286e17dc42c164f2b7d5693118720aaaad3e
      
https://github.com/Perl/perl5/commit/4d1d286e17dc42c164f2b7d5693118720aaaad3e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 271374c161019a86e847d0d11fba9a47099c20c2
      
https://github.com/Perl/perl5/commit/271374c161019a86e847d0d11fba9a47099c20c2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 7b4267340dce1bcbcb8e5b56fc0227be1b249e86
      
https://github.com/Perl/perl5/commit/7b4267340dce1bcbcb8e5b56fc0227be1b249e86
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: a8c6496e1635dcc977306329c955a28bdc4e58c9
      
https://github.com/Perl/perl5/commit/a8c6496e1635dcc977306329c955a28bdc4e58c9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 1db5b9d23c1744f6faa2893592634b85516018e3
      
https://github.com/Perl/perl5/commit/1db5b9d23c1744f6faa2893592634b85516018e3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 6e326828156793394e4f6c52a079e76776dde3f9
      
https://github.com/Perl/perl5/commit/6e326828156793394e4f6c52a079e76776dde3f9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 72d9af9439df393a0f3dee5e489ece27144cf418
      
https://github.com/Perl/perl5/commit/72d9af9439df393a0f3dee5e489ece27144cf418
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e2d2527a9ead97ebf65649cc798320785054457c
      
https://github.com/Perl/perl5/commit/e2d2527a9ead97ebf65649cc798320785054457c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 8565e4c9f3727b9dc5d70652b879436b09ff265b
      
https://github.com/Perl/perl5/commit/8565e4c9f3727b9dc5d70652b879436b09ff265b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 8b7c50b0b808aa29d935fea38449d078c5fc2cdb
      
https://github.com/Perl/perl5/commit/8b7c50b0b808aa29d935fea38449d078c5fc2cdb
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 5735a8f353dd062d3ffc40f2ded4d924cb22d90d
      
https://github.com/Perl/perl5/commit/5735a8f353dd062d3ffc40f2ded4d924cb22d90d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 2b42f6ea9609c435d0a26d17dec5633fc5c94059
      
https://github.com/Perl/perl5/commit/2b42f6ea9609c435d0a26d17dec5633fc5c94059
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 4e430dbf250e9d691299cf0a2c634b27d27722ec
      
https://github.com/Perl/perl5/commit/4e430dbf250e9d691299cf0a2c634b27d27722ec
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 16fb36469bf286862bf6287ac2803d5e593bf5f6
      
https://github.com/Perl/perl5/commit/16fb36469bf286862bf6287ac2803d5e593bf5f6
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 09c2f03100dc4d937efd692d3fa53d9ab33ba950
      
https://github.com/Perl/perl5/commit/09c2f03100dc4d937efd692d3fa53d9ab33ba950
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 602b03a91200548f6fd26278a4983e9ed03f8ef8
      
https://github.com/Perl/perl5/commit/602b03a91200548f6fd26278a4983e9ed03f8ef8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 23b222e441904bcfa465c5be7f174fb4951dba51
      
https://github.com/Perl/perl5/commit/23b222e441904bcfa465c5be7f174fb4951dba51
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 13ae8e8da5a246f35e4afaab185e0511569467a6
      
https://github.com/Perl/perl5/commit/13ae8e8da5a246f35e4afaab185e0511569467a6
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e1b211afee395f23c54ee069c161b014de3ccd26
      
https://github.com/Perl/perl5/commit/e1b211afee395f23c54ee069c161b014de3ccd26
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f42b1d43bb0c32083d22306fb097b6af00bad8c5
      
https://github.com/Perl/perl5/commit/f42b1d43bb0c32083d22306fb097b6af00bad8c5
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 3e275bce80c7821b52c2b447e9b43717c8d2190a
      
https://github.com/Perl/perl5/commit/3e275bce80c7821b52c2b447e9b43717c8d2190a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: ca5a025054f9f51719b199178a48b37316c903af
      
https://github.com/Perl/perl5/commit/ca5a025054f9f51719b199178a48b37316c903af
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 9ea1847eab3ac27de50a85c4158956f71f61e292
      
https://github.com/Perl/perl5/commit/9ea1847eab3ac27de50a85c4158956f71f61e292
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: d6bab4b44f486854a68ad032520b7a4e6f06f5db
      
https://github.com/Perl/perl5/commit/d6bab4b44f486854a68ad032520b7a4e6f06f5db
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 40f7c90f0ff3b09a027bee9d7e40ef299a59794f
      
https://github.com/Perl/perl5/commit/40f7c90f0ff3b09a027bee9d7e40ef299a59794f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e8d71b9884e654d8ccb6f898c1bd3e4225c22a34
      
https://github.com/Perl/perl5/commit/e8d71b9884e654d8ccb6f898c1bd3e4225c22a34
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: dcdcbfca8aeca687c3db5feae245295edbfd55bd
      
https://github.com/Perl/perl5/commit/dcdcbfca8aeca687c3db5feae245295edbfd55bd
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 35d9a5e9cb18529b7ab98a2ea623131aef11c587
      
https://github.com/Perl/perl5/commit/35d9a5e9cb18529b7ab98a2ea623131aef11c587
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 557a7495a3ef989c3373c220a8496489eb0ba9fc
      
https://github.com/Perl/perl5/commit/557a7495a3ef989c3373c220a8496489eb0ba9fc
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 4cebd4c612ffc70f9ecb6749eb8421afba47b2e8
      
https://github.com/Perl/perl5/commit/4cebd4c612ffc70f9ecb6749eb8421afba47b2e8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 07f5f220ee1e44646fd5407cbd561f54513db234
      
https://github.com/Perl/perl5/commit/07f5f220ee1e44646fd5407cbd561f54513db234
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 881fc8b24fbfc9e4d6b8e8b56124cd5b1bc0ddec
      
https://github.com/Perl/perl5/commit/881fc8b24fbfc9e4d6b8e8b56124cd5b1bc0ddec
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: ed279896756f5a6e355eea2fb1af13b3bd896b25
      
https://github.com/Perl/perl5/commit/ed279896756f5a6e355eea2fb1af13b3bd896b25
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 1c873992310bacca40a1300a9140479e87f5056e
      
https://github.com/Perl/perl5/commit/1c873992310bacca40a1300a9140479e87f5056e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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

See what passes


  Commit: d8ab9615f20da80f5ccf594a71836cd3732f4e7f
      
https://github.com/Perl/perl5/commit/d8ab9615f20da80f5ccf594a71836cd3732f4e7f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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

This reverts commit 899565f1db40eb12fba5733b20cd63362d7e5b5f.


  Commit: 761d887c34a8c0d339654a7aba4d05b2ef41a7f0
      
https://github.com/Perl/perl5/commit/761d887c34a8c0d339654a7aba4d05b2ef41a7f0
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 161cb89dc6bce77c14357f8e3f73da9eccda67f6
      
https://github.com/Perl/perl5/commit/161cb89dc6bce77c14357f8e3f73da9eccda67f6
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 90305b418e8d4d061d5348c52923702e6cc8e143
      
https://github.com/Perl/perl5/commit/90305b418e8d4d061d5348c52923702e6cc8e143
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 80387ae0f75efa630d259c00b4e6863f9a6ab9e1
      
https://github.com/Perl/perl5/commit/80387ae0f75efa630d259c00b4e6863f9a6ab9e1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 90730ac68a166d752f77e0963004b130e305e58e
      
https://github.com/Perl/perl5/commit/90730ac68a166d752f77e0963004b130e305e58e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 357ce64549e4761ac2270e081d89285125a37372
      
https://github.com/Perl/perl5/commit/357ce64549e4761ac2270e081d89285125a37372
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: bfc55491a3d127d3347a6e00f454bd33a73f8392
      
https://github.com/Perl/perl5/commit/bfc55491a3d127d3347a6e00f454bd33a73f8392
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 0bd3943808f968a667ff5864ca98fd93036e98b8
      
https://github.com/Perl/perl5/commit/0bd3943808f968a667ff5864ca98fd93036e98b8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c
    M perl.h

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


  Commit: 71f0d9c10c7301991ba64597fa3fccad480c7af5
      
https://github.com/Perl/perl5/commit/71f0d9c10c7301991ba64597fa3fccad480c7af5
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: c016eae45b34442d56066b1cb26cb75b2b2347c7
      
https://github.com/Perl/perl5/commit/c016eae45b34442d56066b1cb26cb75b2b2347c7
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f4e08f1ed2e5298e7bdf99f4a1b878b2a342e643
      
https://github.com/Perl/perl5/commit/f4e08f1ed2e5298e7bdf99f4a1b878b2a342e643
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: ff49828854275ea50f947c15b44697061458f322
      
https://github.com/Perl/perl5/commit/ff49828854275ea50f947c15b44697061458f322
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 27f4ad85c152b00c6912a5a65bdf46005298093d
      
https://github.com/Perl/perl5/commit/27f4ad85c152b00c6912a5a65bdf46005298093d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: b26ad0ceb5ee11f0665a521186c8d8d3f16b2fc8
      
https://github.com/Perl/perl5/commit/b26ad0ceb5ee11f0665a521186c8d8d3f16b2fc8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 070085d8221b5359966353c72ab03dc509d086a8
      
https://github.com/Perl/perl5/commit/070085d8221b5359966353c72ab03dc509d086a8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 46b15bce1d4a9897043ce295f0b84b6e2ed1c5e2
      
https://github.com/Perl/perl5/commit/46b15bce1d4a9897043ce295f0b84b6e2ed1c5e2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 352372798f99b8e0f1b90b2d01bddfd0f00e047c
      
https://github.com/Perl/perl5/commit/352372798f99b8e0f1b90b2d01bddfd0f00e047c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 941f9bccb2938b0155bcccbd5fc1810f4e68d22c
      
https://github.com/Perl/perl5/commit/941f9bccb2938b0155bcccbd5fc1810f4e68d22c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: a5a0a5530d368609cb6f1f83cd284155fc916346
      
https://github.com/Perl/perl5/commit/a5a0a5530d368609cb6f1f83cd284155fc916346
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: fffcc2babee3867380eb21325ac7725f4e26258d
      
https://github.com/Perl/perl5/commit/fffcc2babee3867380eb21325ac7725f4e26258d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 2e8f57fc7eb9355fd79490922ce54d45d8a9f66b
      
https://github.com/Perl/perl5/commit/2e8f57fc7eb9355fd79490922ce54d45d8a9f66b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: ad52b8108126d7be6964ca023340b5c34b9aea5e
      
https://github.com/Perl/perl5/commit/ad52b8108126d7be6964ca023340b5c34b9aea5e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: e6f9b6170ba7782677d2eb71e24f373c7aca4375
      
https://github.com/Perl/perl5/commit/e6f9b6170ba7782677d2eb71e24f373c7aca4375
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: c38d8f8b5bb22230d06f4ca99c62d666853c98ec
      
https://github.com/Perl/perl5/commit/c38d8f8b5bb22230d06f4ca99c62d666853c98ec
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 18ef27735f64902ced08c9676492631c4a2a635d
      
https://github.com/Perl/perl5/commit/18ef27735f64902ced08c9676492631c4a2a635d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 3a8e25aa76e942ddb5ecd814b08b734893f48cfe
      
https://github.com/Perl/perl5/commit/3a8e25aa76e942ddb5ecd814b08b734893f48cfe
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 8cf63ec0c92a48a026090d4cce8eded1e4272f6c
      
https://github.com/Perl/perl5/commit/8cf63ec0c92a48a026090d4cce8eded1e4272f6c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 79a06d3554b5cf7e951746199f261c6b31ca3268
      
https://github.com/Perl/perl5/commit/79a06d3554b5cf7e951746199f261c6b31ca3268
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f50bcf3e7b84c8d5edabfee2b89f19eefa35a745
      
https://github.com/Perl/perl5/commit/f50bcf3e7b84c8d5edabfee2b89f19eefa35a745
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: ae95650a3683982c4aa51e6d144f4d22e6e1e9e6
      
https://github.com/Perl/perl5/commit/ae95650a3683982c4aa51e6d144f4d22e6e1e9e6
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 1e5eab5f8c099249a2edc90a475831489b96bf33
      
https://github.com/Perl/perl5/commit/1e5eab5f8c099249a2edc90a475831489b96bf33
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M utf8.h

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


  Commit: af2c22a2b96bb15c4870f63961a508ef9a065437
      
https://github.com/Perl/perl5/commit/af2c22a2b96bb15c4870f63961a508ef9a065437
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 3e49595356a2bd669ef075c62ba10f1ac14842a2
      
https://github.com/Perl/perl5/commit/3e49595356a2bd669ef075c62ba10f1ac14842a2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 93877a2ff125a37c4e491ba9df66623f17b20a6b
      
https://github.com/Perl/perl5/commit/93877a2ff125a37c4e491ba9df66623f17b20a6b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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

This previously added an extraneous unused element.


  Commit: c7f42e672b025f7afde14035979af51754dbde71
      
https://github.com/Perl/perl5/commit/c7f42e672b025f7afde14035979af51754dbde71
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: d74d40f5e2a6d9f28c07f77d75d089d09511a533
      
https://github.com/Perl/perl5/commit/d74d40f5e2a6d9f28c07f77d75d089d09511a533
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 514dfa4eb8bfcd3556ced86c8150ef312d72407b
      
https://github.com/Perl/perl5/commit/514dfa4eb8bfcd3556ced86c8150ef312d72407b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: a39496ecc1e958e20992637c6c2fd8b5702cc39b
      
https://github.com/Perl/perl5/commit/a39496ecc1e958e20992637c6c2fd8b5702cc39b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 23e357e0d4e53caaa6635c662e5d97094483a846
      
https://github.com/Perl/perl5/commit/23e357e0d4e53caaa6635c662e5d97094483a846
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 8d382c4c9dae3757c6f780171dd56e7e54350707
      
https://github.com/Perl/perl5/commit/8d382c4c9dae3757c6f780171dd56e7e54350707
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: a69fc8b73b2c22dd66eba500f422e3bc339c4a45
      
https://github.com/Perl/perl5/commit/a69fc8b73b2c22dd66eba500f422e3bc339c4a45
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e9f805b333d9b5bea6181af30a59f39e165f1a07
      
https://github.com/Perl/perl5/commit/e9f805b333d9b5bea6181af30a59f39e165f1a07
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 18735002dee41e71b61e16a5580213cb5741ff7b
      
https://github.com/Perl/perl5/commit/18735002dee41e71b61e16a5580213cb5741ff7b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: d318ea9407ef9783769c85a147513d707da43e7b
      
https://github.com/Perl/perl5/commit/d318ea9407ef9783769c85a147513d707da43e7b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: afcd5b7dd06efaa84d2b81f2c3e1dd9b06021186
      
https://github.com/Perl/perl5/commit/afcd5b7dd06efaa84d2b81f2c3e1dd9b06021186
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e5b68e8fe6ddb3641b27a169612535e89a56d30c
      
https://github.com/Perl/perl5/commit/e5b68e8fe6ddb3641b27a169612535e89a56d30c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 2fb53d6fde219665e43d9f831ed8053277ebbfa1
      
https://github.com/Perl/perl5/commit/2fb53d6fde219665e43d9f831ed8053277ebbfa1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 5252755fb9dc4c9c6a27843731a6d3c6621a9e3f
      
https://github.com/Perl/perl5/commit/5252755fb9dc4c9c6a27843731a6d3c6621a9e3f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: a2f161fdb473691956e291a6182c39ad7103176f
      
https://github.com/Perl/perl5/commit/a2f161fdb473691956e291a6182c39ad7103176f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 3eb532c26c5cd727870f85f6589c310537d719b4
      
https://github.com/Perl/perl5/commit/3eb532c26c5cd727870f85f6589c310537d719b4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: aa9c2821dbbae0d054c244b70da1ac24eebb197e
      
https://github.com/Perl/perl5/commit/aa9c2821dbbae0d054c244b70da1ac24eebb197e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: c4b3b55919695e70293220f04aa842bfbdc429c5
      
https://github.com/Perl/perl5/commit/c4b3b55919695e70293220f04aa842bfbdc429c5
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 53c437ead4c6c9a1b7a8083925eb84b35765df7a
      
https://github.com/Perl/perl5/commit/53c437ead4c6c9a1b7a8083925eb84b35765df7a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: eda041e43900d5104f03b1b898179aa63bf6396c
      
https://github.com/Perl/perl5/commit/eda041e43900d5104f03b1b898179aa63bf6396c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c
    M perl.h

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


  Commit: 66a48ec8854eb1acb4a66824370b09647ce96139
      
https://github.com/Perl/perl5/commit/66a48ec8854eb1acb4a66824370b09647ce96139
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: a14381950f7055e04ab25a2801745a80853eb00e
      
https://github.com/Perl/perl5/commit/a14381950f7055e04ab25a2801745a80853eb00e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: fc823e0b517f36b9934b44981c8af226a376c792
      
https://github.com/Perl/perl5/commit/fc823e0b517f36b9934b44981c8af226a376c792
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 29b486fd7d9cc293123019225e2c641811ddc5c1
      
https://github.com/Perl/perl5/commit/29b486fd7d9cc293123019225e2c641811ddc5c1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: e7c7c1088283015a2b8b09929bb2a2349a0fbdd3
      
https://github.com/Perl/perl5/commit/e7c7c1088283015a2b8b09929bb2a2349a0fbdd3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 72bcb62fa35944a3e075fb6990f6ddea84de0141
      
https://github.com/Perl/perl5/commit/72bcb62fa35944a3e075fb6990f6ddea84de0141
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 2a62e34308b6fe2acf7dae276ade34efcc301ec4
      
https://github.com/Perl/perl5/commit/2a62e34308b6fe2acf7dae276ade34efcc301ec4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 25b669c57d206d1aa3711adc1b0ad542f1767876
      
https://github.com/Perl/perl5/commit/25b669c57d206d1aa3711adc1b0ad542f1767876
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f1553c95712682933b7df4385c5a2eb136c369cc
      
https://github.com/Perl/perl5/commit/f1553c95712682933b7df4385c5a2eb136c369cc
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: d7b0fe631d4521556234eb0c136488bc73f1c64c
      
https://github.com/Perl/perl5/commit/d7b0fe631d4521556234eb0c136488bc73f1c64c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: a46d41a241191fcdac07822f5ac38d787a0e037d
      
https://github.com/Perl/perl5/commit/a46d41a241191fcdac07822f5ac38d787a0e037d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 2626fc9edcd25ae9c7905d7dfeb69cdd523f43f2
      
https://github.com/Perl/perl5/commit/2626fc9edcd25ae9c7905d7dfeb69cdd523f43f2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 2477f472c3f14ebebf7a82632b6b65123ce56007
      
https://github.com/Perl/perl5/commit/2477f472c3f14ebebf7a82632b6b65123ce56007
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 3ca638f1ddf4f0281a8c5fb3132404b90bc417dd
      
https://github.com/Perl/perl5/commit/3ca638f1ddf4f0281a8c5fb3132404b90bc417dd
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 32de87bc405abf9baffa6727156d7d8e2237059d
      
https://github.com/Perl/perl5/commit/32de87bc405abf9baffa6727156d7d8e2237059d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 8d81d6845257cee121add60aefd2d6c054abf68b
      
https://github.com/Perl/perl5/commit/8d81d6845257cee121add60aefd2d6c054abf68b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 142e280a3dfb4d646f513b66dc69e8d2883a9b41
      
https://github.com/Perl/perl5/commit/142e280a3dfb4d646f513b66dc69e8d2883a9b41
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 23effaeb7ddac4d2ee1fcb3d09b512e6c8d92682
      
https://github.com/Perl/perl5/commit/23effaeb7ddac4d2ee1fcb3d09b512e6c8d92682
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: df7180fa20cb7d0c82c985d500ef6db5ba5b0207
      
https://github.com/Perl/perl5/commit/df7180fa20cb7d0c82c985d500ef6db5ba5b0207
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 7ba2048e2ca697ad06ccfbbadd16963425f4e6d4
      
https://github.com/Perl/perl5/commit/7ba2048e2ca697ad06ccfbbadd16963425f4e6d4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: c2ac4dee44c4636adad64b2f0461eba98896979e
      
https://github.com/Perl/perl5/commit/c2ac4dee44c4636adad64b2f0461eba98896979e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: ca4b8f28284f87d75f15887f8a7d173bafacdd15
      
https://github.com/Perl/perl5/commit/ca4b8f28284f87d75f15887f8a7d173bafacdd15
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: c8a344b1e79d12ac9444deca092ac896d587b679
      
https://github.com/Perl/perl5/commit/c8a344b1e79d12ac9444deca092ac896d587b679
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 7c13b863763f3d4a1cdf82a526b5e32ad3079311
      
https://github.com/Perl/perl5/commit/7c13b863763f3d4a1cdf82a526b5e32ad3079311
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 8300fbb5711743fdfc2a2b143d46ba9028ee03af
      
https://github.com/Perl/perl5/commit/8300fbb5711743fdfc2a2b143d46ba9028ee03af
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: fbd2dd2e49cbae9cd19208b6cbcfbf10cc3f95fc
      
https://github.com/Perl/perl5/commit/fbd2dd2e49cbae9cd19208b6cbcfbf10cc3f95fc
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: ef54df171e074b71f875b5c53afd7bb7533da58a
      
https://github.com/Perl/perl5/commit/ef54df171e074b71f875b5c53afd7bb7533da58a
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 356453326d73a0cc22b186a6d96e286d7062800c
      
https://github.com/Perl/perl5/commit/356453326d73a0cc22b186a6d96e286d7062800c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 06d90fac6b54b6a79f7e255da5beacb53870fef5
      
https://github.com/Perl/perl5/commit/06d90fac6b54b6a79f7e255da5beacb53870fef5
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f893f93401365b9dcb759659e673f0702265dfea
      
https://github.com/Perl/perl5/commit/f893f93401365b9dcb759659e673f0702265dfea
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 301394d2cd4fc435ee43b2eed4dc3bdf487e8b2e
      
https://github.com/Perl/perl5/commit/301394d2cd4fc435ee43b2eed4dc3bdf487e8b2e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 6b391bc33906774202bb7ed592a5c83e4eded807
      
https://github.com/Perl/perl5/commit/6b391bc33906774202bb7ed592a5c83e4eded807
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 6f2ad25150aab5f70aea89a8519b0f10b8763c9e
      
https://github.com/Perl/perl5/commit/6f2ad25150aab5f70aea89a8519b0f10b8763c9e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: ae35956a007dae528dadc625cd73e26cbc1c8484
      
https://github.com/Perl/perl5/commit/ae35956a007dae528dadc625cd73e26cbc1c8484
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 4ce54e4c940f4e6a285a46cd5195077fa61b5e74
      
https://github.com/Perl/perl5/commit/4ce54e4c940f4e6a285a46cd5195077fa61b5e74
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 0da25268c3fc72d3a41d9be54a004d65ee6930e1
      
https://github.com/Perl/perl5/commit/0da25268c3fc72d3a41d9be54a004d65ee6930e1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: dace3a4702d3780e244d2adf3ba2429bbb01751c
      
https://github.com/Perl/perl5/commit/dace3a4702d3780e244d2adf3ba2429bbb01751c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 51bfd8b5df050c67ebdd627c61ef77212c8cda2f
      
https://github.com/Perl/perl5/commit/51bfd8b5df050c67ebdd627c61ef77212c8cda2f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/porting/bincompat.t

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


  Commit: 19484e0fb177c75cda04008df5cf40d693aee902
      
https://github.com/Perl/perl5/commit/19484e0fb177c75cda04008df5cf40d693aee902
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M hints/darwin.sh

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


  Commit: 0c9dc2c676cffcfc7665dd2a99bbde684c6d2d9f
      
https://github.com/Perl/perl5/commit/0c9dc2c676cffcfc7665dd2a99bbde684c6d2d9f
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: 4713296905cbe0831075476f8dfcb9a409d43ab4
      
https://github.com/Perl/perl5/commit/4713296905cbe0831075476f8dfcb9a409d43ab4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M intrpvar.h

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


  Commit: c90e574844e8b6647d479cd080382d2f6ef9a9ec
      
https://github.com/Perl/perl5/commit/c90e574844e8b6647d479cd080382d2f6ef9a9ec
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 72b94d18cd6ccb9925d82be346e5f22036af9f86
      
https://github.com/Perl/perl5/commit/72b94d18cd6ccb9925d82be346e5f22036af9f86
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 33d823fac0f588628756d0096bffa03485f8cf5d
      
https://github.com/Perl/perl5/commit/33d823fac0f588628756d0096bffa03485f8cf5d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: b657e7e07f7132ca3bbaad9b9087ca713d119145
      
https://github.com/Perl/perl5/commit/b657e7e07f7132ca3bbaad9b9087ca713d119145
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f22a2f11a6b40efe8387d03a00fb5bf09cd5a4ef
      
https://github.com/Perl/perl5/commit/f22a2f11a6b40efe8387d03a00fb5bf09cd5a4ef
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: f978eb0dec02cf933ed1e6e64082c7d8b69a2672
      
https://github.com/Perl/perl5/commit/f978eb0dec02cf933ed1e6e64082c7d8b69a2672
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: c7b417b5128ed314720c012958fd6bcf18c0fa1d
      
https://github.com/Perl/perl5/commit/c7b417b5128ed314720c012958fd6bcf18c0fa1d
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M makedef.pl

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


  Commit: a6cb4335f2d8940e93799ffc3bfb41a789fc0181
      
https://github.com/Perl/perl5/commit/a6cb4335f2d8940e93799ffc3bfb41a789fc0181
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M makedef.pl

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


  Commit: f0b6912c09c4f4f7ef5b09a721319caeee52dd48
      
https://github.com/Perl/perl5/commit/f0b6912c09c4f4f7ef5b09a721319caeee52dd48
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M makedef.pl

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


  Commit: ce11773491efa9a96c4d6da87d25b37262128280
      
https://github.com/Perl/perl5/commit/ce11773491efa9a96c4d6da87d25b37262128280
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M makedef.pl

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


  Commit: c42de721c73c57babcfb46b573ea28757160feec
      
https://github.com/Perl/perl5/commit/c42de721c73c57babcfb46b573ea28757160feec
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M makedef.pl

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


  Commit: 91f2d258c449aac6329a512b8bdefbe8cebe340e
      
https://github.com/Perl/perl5/commit/91f2d258c449aac6329a512b8bdefbe8cebe340e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 2fd061d0a833f001c877372a141d40bcc4f08e82
      
https://github.com/Perl/perl5/commit/2fd061d0a833f001c877372a141d40bcc4f08e82
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 8b7787608f3961841e9e0f46883f146c368f9048
      
https://github.com/Perl/perl5/commit/8b7787608f3961841e9e0f46883f146c368f9048
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: cf9a101717490616fa4a49d74684b6d49f073a16
      
https://github.com/Perl/perl5/commit/cf9a101717490616fa4a49d74684b6d49f073a16
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 3ced563d6d4634d85d25106efd97b6f26f1227dc
      
https://github.com/Perl/perl5/commit/3ced563d6d4634d85d25106efd97b6f26f1227dc
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c
    M perl.h

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


  Commit: 9895256e689127106da7b972ecfb96ddfa2991c2
      
https://github.com/Perl/perl5/commit/9895256e689127106da7b972ecfb96ddfa2991c2
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 95fcd3a4b3e953f068d1284fb94eecb10732c90e
      
https://github.com/Perl/perl5/commit/95fcd3a4b3e953f068d1284fb94eecb10732c90e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: bbe26000a2250c29f663a0002b0c667ed93905b4
      
https://github.com/Perl/perl5/commit/bbe26000a2250c29f663a0002b0c667ed93905b4
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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

This reverts commit 4be10ec67fb8fef94cb573a8f7b51cb23610517f.


  Commit: d2ea21975b9198a1ee7b4c189fb70c7121562912
      
https://github.com/Perl/perl5/commit/d2ea21975b9198a1ee7b4c189fb70c7121562912
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: e839353bc1ff193787435236d9553fa13ac402d5
      
https://github.com/Perl/perl5/commit/e839353bc1ff193787435236d9553fa13ac402d5
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: ca6179f58c169cb5e795636ed6719157dca075bf
      
https://github.com/Perl/perl5/commit/ca6179f58c169cb5e795636ed6719157dca075bf
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 3b983b4d823bdfe0a1c3337a72821487263755ff
      
https://github.com/Perl/perl5/commit/3b983b4d823bdfe0a1c3337a72821487263755ff
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 29ec2fe36619d929fb5e4ce14ce2858aff1e6457
      
https://github.com/Perl/perl5/commit/29ec2fe36619d929fb5e4ce14ce2858aff1e6457
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M Configure

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


  Commit: da23d939eb78e86762424460b0d31ea86f34f06c
      
https://github.com/Perl/perl5/commit/da23d939eb78e86762424460b0d31ea86f34f06c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: ad50b487a02268d8d04467a86d3f3a989982e393
      
https://github.com/Perl/perl5/commit/ad50b487a02268d8d04467a86d3f3a989982e393
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: d54b13d65df0d10271c6a404a85fcee65b0dda6b
      
https://github.com/Perl/perl5/commit/d54b13d65df0d10271c6a404a85fcee65b0dda6b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 42c9a0987786dd9b5d016974b13784c35a23cd7e
      
https://github.com/Perl/perl5/commit/42c9a0987786dd9b5d016974b13784c35a23cd7e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 0275d286eeaa3c3fad4cab2165a48f69d3a87635
      
https://github.com/Perl/perl5/commit/0275d286eeaa3c3fad4cab2165a48f69d3a87635
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 7b4defd1cb5da0c874edefdff100a357f80881ea
      
https://github.com/Perl/perl5/commit/7b4defd1cb5da0c874edefdff100a357f80881ea
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 3a43f68b1c26b3d1d24aa7244e14ed924d650fb9
      
https://github.com/Perl/perl5/commit/3a43f68b1c26b3d1d24aa7244e14ed924d650fb9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f79a40e51f2c74254e19bf4061bdf50633849741
      
https://github.com/Perl/perl5/commit/f79a40e51f2c74254e19bf4061bdf50633849741
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: fe66e9d91e2e40034f5cd36d3ad710c36e29b20c
      
https://github.com/Perl/perl5/commit/fe66e9d91e2e40034f5cd36d3ad710c36e29b20c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: b3633b337c9e31894ab9155c87f99ae7a4ee34df
      
https://github.com/Perl/perl5/commit/b3633b337c9e31894ab9155c87f99ae7a4ee34df
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 5dfa529a8cbd3ed2689553ab4374c06dc6c46142
      
https://github.com/Perl/perl5/commit/5dfa529a8cbd3ed2689553ab4374c06dc6c46142
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 44400a6cdeaa57927b03043907c6fa0a1305ba05
      
https://github.com/Perl/perl5/commit/44400a6cdeaa57927b03043907c6fa0a1305ba05
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 36fb0c85e92e2b1c94d81cc8b8bcc3585630e7f5
      
https://github.com/Perl/perl5/commit/36fb0c85e92e2b1c94d81cc8b8bcc3585630e7f5
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: f5092c225ae112bececad9fc23c46c02b16824e0
      
https://github.com/Perl/perl5/commit/f5092c225ae112bececad9fc23c46c02b16824e0
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M perl.h

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


  Commit: 23a9d560559926a74fef8918638ae7739dfcaef9
      
https://github.com/Perl/perl5/commit/23a9d560559926a74fef8918638ae7739dfcaef9
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M dist/threads/threads.xs

  Log Message:
  -----------
  XXX threads.xs: Move #ifdef to beginning of file

XXX saves an interior ifdef, but unsure if worth it.


  Commit: c60e7f6a126f813e3a1b89952461e91ff4a30f51
      
https://github.com/Perl/perl5/commit/c60e7f6a126f813e3a1b89952461e91ff4a30f51
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 68508ca189981dffddc3fff996db8bb54e0b9e20
      
https://github.com/Perl/perl5/commit/68508ca189981dffddc3fff996db8bb54e0b9e20
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M thread.h

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

Indent some nested preproccessor defines


  Commit: 01d279687970513b9a97e66e3521923076768078
      
https://github.com/Perl/perl5/commit/01d279687970513b9a97e66e3521923076768078
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M win32/Makefile

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


  Commit: 6e87a56885347b953728af20e104ac9a785a5ecc
      
https://github.com/Perl/perl5/commit/6e87a56885347b953728af20e104ac9a785a5ecc
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: d7bd20f757704cc34da35eb44a428c8af20d0587
      
https://github.com/Perl/perl5/commit/d7bd20f757704cc34da35eb44a428c8af20d0587
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: d57be68c5491c93f235efeb6f006d50f5012def7
      
https://github.com/Perl/perl5/commit/d57be68c5491c93f235efeb6f006d50f5012def7
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 011b6652a5e9ed3d8ebfccfe0f5f8a6f15a0a123
      
https://github.com/Perl/perl5/commit/011b6652a5e9ed3d8ebfccfe0f5f8a6f15a0a123
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 34a737298a430b42004bbb0bc6cb3d16cac469b3
      
https://github.com/Perl/perl5/commit/34a737298a430b42004bbb0bc6cb3d16cac469b3
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: b434bd568f6ed2aeeab4d346b97a83005a82f461
      
https://github.com/Perl/perl5/commit/b434bd568f6ed2aeeab4d346b97a83005a82f461
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 4d5f5d3dc4f5f6f5502ff982f9a4c6e987d19885
      
https://github.com/Perl/perl5/commit/4d5f5d3dc4f5f6f5502ff982f9a4c6e987d19885
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 77538870735c27385e81e270a1715a5e26cb4294
      
https://github.com/Perl/perl5/commit/77538870735c27385e81e270a1715a5e26cb4294
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: c3eaeded7032d6bb861bb4c30afbef15f4d63128
      
https://github.com/Perl/perl5/commit/c3eaeded7032d6bb861bb4c30afbef15f4d63128
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 0af046d973ddf878419a7fa27f4dbf3cca689f8c
      
https://github.com/Perl/perl5/commit/0af046d973ddf878419a7fa27f4dbf3cca689f8c
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 4fc54e6445808587a38d5063b4151c48f584161b
      
https://github.com/Perl/perl5/commit/4fc54e6445808587a38d5063b4151c48f584161b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

  Log Message:
  -----------
  Attempts to fix windows free pool panic


  Commit: b86dd212cf637da5342bbcd5c3d443580b2cc1e1
      
https://github.com/Perl/perl5/commit/b86dd212cf637da5342bbcd5c3d443580b2cc1e1
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

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

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


  Commit: 91ad52577589174710e7c577117bc1bb122c2e60
      
https://github.com/Perl/perl5/commit/91ad52577589174710e7c577117bc1bb122c2e60
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c

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


  Commit: a755b19a4cd1595bfa40b2ca5e40dc5d3ceb0367
      
https://github.com/Perl/perl5/commit/a755b19a4cd1595bfa40b2ca5e40dc5d3ceb0367
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 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: 8096b97a3d15bd7fdcb39e105a927493e80a71f7
      
https://github.com/Perl/perl5/commit/8096b97a3d15bd7fdcb39e105a927493e80a71f7
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M t/loc_tools.pl

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


  Commit: 548c5949796d7794ca5954819be113716ab5c159
      
https://github.com/Perl/perl5/commit/548c5949796d7794ca5954819be113716ab5c159
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-26 (Fri, 26 May 2023)

  Changed paths:
    M locale.c
    M t/loc_tools.pl
    M t/porting/customized.dat
    M t/run/locale.t

  Log Message:
  -----------
  foo


  Commit: 657b8b2a6545cb822a8ab1e7ad94c2742f39fbbc
      
https://github.com/Perl/perl5/commit/657b8b2a6545cb822a8ab1e7ad94c2742f39fbbc
  Author: Karl Williamson <k...@cpan.org>
  Date:   2023-05-27 (Sat, 27 May 2023)

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

  Log Message:
  -----------
  bar


Compare: https://github.com/Perl/perl5/compare/19c3e0e2a83a...657b8b2a6545

Reply via email to