Branch: refs/heads/smoke-me/khw-env
Home: https://github.com/Perl/perl5
Commit: 8ac438253536d9c609df3abd53ca55a3aaab837f
https://github.com/Perl/perl5/commit/8ac438253536d9c609df3abd53ca55a3aaab837f
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/harness
Log Message:
-----------
XXX skip croak.t under sanitizer
Commit: 7b7dba63d3092997ddc6b4e8055163cc7234392a
https://github.com/Perl/perl5/commit/7b7dba63d3092997ddc6b4e8055163cc7234392a
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 7732b99821ebefa10183c17be263835969abbf4e
https://github.com/Perl/perl5/commit/7732b99821ebefa10183c17be263835969abbf4e
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6c3f9e71bf69211d951d8b6cf94e802041ebd980
https://github.com/Perl/perl5/commit/6c3f9e71bf69211d951d8b6cf94e802041ebd980
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/TEST
Log Message:
-----------
XXX skip cpan testing
Commit: 6e345e5853d21b9182614ebf67d5c3be51b2dcc7
https://github.com/Perl/perl5/commit/6e345e5853d21b9182614ebf67d5c3be51b2dcc7
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 70a586279bd6894c7f1ca0bf5a0d5a44e035d495
https://github.com/Perl/perl5/commit/70a586279bd6894c7f1ca0bf5a0d5a44e035d495
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 61a731f279f8f74f7d6d2bfc526c7ed4a9612e52
https://github.com/Perl/perl5/commit/61a731f279f8f74f7d6d2bfc526c7ed4a9612e52
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/test.pl
Log Message:
-----------
XXX test.pl: dont unlink temps
Commit: 7fa97663e2c7ee3ee62f7f99b7bbc1edd2a0c940
https://github.com/Perl/perl5/commit/7fa97663e2c7ee3ee62f7f99b7bbc1edd2a0c940
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/test.pl
Log Message:
-----------
Revert "XXX test.pl: dont unlink temps"
This reverts commit 1579ce0dbce549cb594214ba27d4e2fa389f891b.
Commit: d19f7a42bb9d33a1f3e0fc9b0baad62d9d128eda
https://github.com/Perl/perl5/commit/d19f7a42bb9d33a1f3e0fc9b0baad62d9d128eda
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/run/locale.t
Log Message:
-----------
run/locale.t: more debug
Commit: 37547f61c861ce7315e6e92e6f1ac6cb8a97a1a8
https://github.com/Perl/perl5/commit/37547f61c861ce7315e6e92e6f1ac6cb8a97a1a8
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/run/locale.t
Log Message:
-----------
XXX run/locale.t: maybe f move test
Commit: 02a68a1323baaf0da9baaf63af65913b3ec3a95d
https://github.com/Perl/perl5/commit/02a68a1323baaf0da9baaf63af65913b3ec3a95d
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 2928d53a7ec04401a62d7164f95750fcb68c48c7
https://github.com/Perl/perl5/commit/2928d53a7ec04401a62d7164f95750fcb68c48c7
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: b2af19b22a5ac1a794945cf88f77a4633b3393db
https://github.com/Perl/perl5/commit/b2af19b22a5ac1a794945cf88f77a4633b3393db
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M vutil.c
Log Message:
-----------
vutil.c: Debug
Commit: b39802b2c668d7a9be966317e266bb9992fb70f2
https://github.com/Perl/perl5/commit/b39802b2c668d7a9be966317e266bb9992fb70f2
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a229cd4a5faca848403791054c3349697b8a5c61
https://github.com/Perl/perl5/commit/a229cd4a5faca848403791054c3349697b8a5c61
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 323af48a7d360c025845cc576cc77326eed5817b
https://github.com/Perl/perl5/commit/323af48a7d360c025845cc576cc77326eed5817b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 80f4c66055da65a761a050b2c892ccdb53c2e1bb
https://github.com/Perl/perl5/commit/80f4c66055da65a761a050b2c892ccdb53c2e1bb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M vutil.c
Log Message:
-----------
f vutil
Commit: fa5935eb115164c70615042ebb73e7194e81e57d
https://github.com/Perl/perl5/commit/fa5935eb115164c70615042ebb73e7194e81e57d
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 097761287a2d738780b743c16f8a2837e8930f56
https://github.com/Perl/perl5/commit/097761287a2d738780b743c16f8a2837e8930f56
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 125a75f0d508b0c93c446e52dac03ce9d08e9f4c
https://github.com/Perl/perl5/commit/125a75f0d508b0c93c446e52dac03ce9d08e9f4c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M cpan/Archive-Tar/t/02_methods.t
Log Message:
-----------
XXX skip Archive-Tar because of symlinks
Commit: 8f39452539d6573b12e1a82544f6dce6e2109f6c
https://github.com/Perl/perl5/commit/8f39452539d6573b12e1a82544f6dce6e2109f6c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/porting/cmp_version.t
Log Message:
-----------
XXX skip cmp_version.t because of sym links
Commit: eb1546a65be6145bcbb89786444c820af0178bd5
https://github.com/Perl/perl5/commit/eb1546a65be6145bcbb89786444c820af0178bd5
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
XXX temp to test broken lconv on non-Windows
Commit: b04d728da2d28eefe50f0479bb09742ee2bd41d8
https://github.com/Perl/perl5/commit/b04d728da2d28eefe50f0479bb09742ee2bd41d8
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 4111bbef30b09065c60c3e999f8f00c5557c807b
https://github.com/Perl/perl5/commit/4111bbef30b09065c60c3e999f8f00c5557c807b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M Configure
Log Message:
-----------
XXX Configure temporary to get no_nl, etc working
Commit: 39cac23d3135d0ccfb9806d0da8c1afb17743d85
https://github.com/Perl/perl5/commit/39cac23d3135d0ccfb9806d0da8c1afb17743d85
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M win32/config_H.gc
M win32/config_H.vc
Log Message:
-----------
Regenerate Configure after metaconfig backports applied
Commit: 897236d3fcb0abda7c1fcc21350c000969146809
https://github.com/Perl/perl5/commit/897236d3fcb0abda7c1fcc21350c000969146809
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 9118383bcbef6309c3e0f1fc3fcab7902fedcecb
https://github.com/Perl/perl5/commit/9118383bcbef6309c3e0f1fc3fcab7902fedcecb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: af52c7bfef8cb5ae941d708fd835d057de0bba40
https://github.com/Perl/perl5/commit/af52c7bfef8cb5ae941d708fd835d057de0bba40
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 4f55eeba198b9776d1c46613a1ccb5c060e3d834
https://github.com/Perl/perl5/commit/4f55eeba198b9776d1c46613a1ccb5c060e3d834
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 5679e16a178dfc61f489d4758b552d03544151fe
https://github.com/Perl/perl5/commit/5679e16a178dfc61f489d4758b552d03544151fe
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M intrpvar.h
M perl.h
Log Message:
-----------
perl.h: Create a locale mnemonic #define for sync across files
Commit: f36d1bf712460386b57b52d3441d2caadfac0ff1
https://github.com/Perl/perl5/commit/f36d1bf712460386b57b52d3441d2caadfac0ff1
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M makedef.pl
M perl.h
Log Message:
-----------
XXX temporary: undef LC_ALL
Commit: 51e1073f8b86e46ead8213170409122170823ff6
https://github.com/Perl/perl5/commit/51e1073f8b86e46ead8213170409122170823ff6
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Fake up win32 compile a bit
Commit: e6f2e53dd92616ef202ab9b2ce467a2b1f3d2b34
https://github.com/Perl/perl5/commit/e6f2e53dd92616ef202ab9b2ce467a2b1f3d2b34
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
ruler
Commit: 4002f60699b8a2cec9e64127af69c3b14337929b
https://github.com/Perl/perl5/commit/4002f60699b8a2cec9e64127af69c3b14337929b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: c95e52d2c706673fcee89b0eebc1a7a9cf941f03
https://github.com/Perl/perl5/commit/c95e52d2c706673fcee89b0eebc1a7a9cf941f03
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6f0c191ca77c2b8767b418b33dedb266640c2298
https://github.com/Perl/perl5/commit/6f0c191ca77c2b8767b418b33dedb266640c2298
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a113b58c4aebb3ea975cc6df038dff8ed7518618
https://github.com/Perl/perl5/commit/a113b58c4aebb3ea975cc6df038dff8ed7518618
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: fec18d77d21fb6f203939541f7eef8e0c3161af3
https://github.com/Perl/perl5/commit/fec18d77d21fb6f203939541f7eef8e0c3161af3
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
DEBUG_
Commit: da581c5b72cec2b6ee5d04934bf2add4aae5fb08
https://github.com/Perl/perl5/commit/da581c5b72cec2b6ee5d04934bf2add4aae5fb08
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: ca8e07f2652ed72106ef43fa7f3b4444ec161fe4
https://github.com/Perl/perl5/commit/ca8e07f2652ed72106ef43fa7f3b4444ec161fe4
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: debug with thread id
Commit: 38fd55b3e58a88e68b161c17cb0bef88b8fc30f4
https://github.com/Perl/perl5/commit/38fd55b3e58a88e68b161c17cb0bef88b8fc30f4
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M embed.fnc
M proto.h
M util.c
Log Message:
-----------
XXX memlog
Commit: b87948b9f4f46328de7cedbc5e0f487b1f2d2bfa
https://github.com/Perl/perl5/commit/b87948b9f4f46328de7cedbc5e0f487b1f2d2bfa
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
XXX win workaround
Commit: fab5b1d47a77b89058ab5fbd0f1598796efb7fe4
https://github.com/Perl/perl5/commit/fab5b1d47a77b89058ab5fbd0f1598796efb7fe4
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
just after XXX win workaround
Commit: 9e859a6417112e0458374529bed1d4c2ab15bc33
https://github.com/Perl/perl5/commit/9e859a6417112e0458374529bed1d4c2ab15bc33
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M lib/locale_threads.t
M t/run/locale.t
Log Message:
-----------
locale_threads
Commit: f32bb885f83e0685b0a4db0cc7f26ca7f3a20fad
https://github.com/Perl/perl5/commit/f32bb885f83e0685b0a4db0cc7f26ca7f3a20fad
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
XXX locale_threads.t: Add alarm
Commit: 5c9400d236505f7d5470fc478ffa196ed4f6338c
https://github.com/Perl/perl5/commit/5c9400d236505f7d5470fc478ffa196ed4f6338c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Debug locking
Commit: 0e66d761eada2751c36964e59ae72fb5053be2b5
https://github.com/Perl/perl5/commit/0e66d761eada2751c36964e59ae72fb5053be2b5
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
M t/run/switchDx.t
Log Message:
-----------
debug thread
Commit: 01a7eb1a5d61268f7b694024ff3cf45b9532d0a2
https://github.com/Perl/perl5/commit/01a7eb1a5d61268f7b694024ff3cf45b9532d0a2
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M dist/threads/threads.xs
M inline.h
Log Message:
-----------
threads.xs DEBUG_U
Commit: cb053e580f3e313fa42ac32a9637da4124b361ec
https://github.com/Perl/perl5/commit/cb053e580f3e313fa42ac32a9637da4124b361ec
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: e308f78384d3d875de85cc26d29ad96be7990d6a
https://github.com/Perl/perl5/commit/e308f78384d3d875de85cc26d29ad96be7990d6a
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/loc_tools.pl
Log Message:
-----------
loc_tools
Commit: 6b745f0c40b421909c6907e8fd3e69cf76561317
https://github.com/Perl/perl5/commit/6b745f0c40b421909c6907e8fd3e69cf76561317
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/loc_tools.pl
Log Message:
-----------
XXX t/loc_tools.pl: Temp debug
Commit: 15958ef58a02e9974fc8361d3965c67a5b10083b
https://github.com/Perl/perl5/commit/15958ef58a02e9974fc8361d3965c67a5b10083b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 22874208b90dc69db4a55b42d3f69f09adc8bd43
https://github.com/Perl/perl5/commit/22874208b90dc69db4a55b42d3f69f09adc8bd43
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 72fb31ac1870eac0b758d8219cbb66d16769fefa
https://github.com/Perl/perl5/commit/72fb31ac1870eac0b758d8219cbb66d16769fefa
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 9819ea84f22a312861b2761fab909fea40fb1e30
https://github.com/Perl/perl5/commit/9819ea84f22a312861b2761fab909fea40fb1e30
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: bee67b00b2caa57b23ccebd80b275acf2275843f
https://github.com/Perl/perl5/commit/bee67b00b2caa57b23ccebd80b275acf2275843f
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: White space, comments only
Commit: 5e01bdcbc858683f86a7c4a6d9168d8408f7a22c
https://github.com/Perl/perl5/commit/5e01bdcbc858683f86a7c4a6d9168d8408f7a22c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h change lock debugging text
Commit: f6b30b311d0f795ff877c09a1e5567ff4741768e
https://github.com/Perl/perl5/commit/f6b30b311d0f795ff877c09a1e5567ff4741768e
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/harness
Log Message:
-----------
XXX t/harness temp tweaks
Commit: 2c21c9ad05e8096d6dcddeb5052fd0b1e727d731
https://github.com/Perl/perl5/commit/2c21c9ad05e8096d6dcddeb5052fd0b1e727d731
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M pod/perllocale.pod
Log Message:
-----------
perllocale Xxx start of changes
Commit: 0b43332e82449ec04d8ca1086320362791b6a011
https://github.com/Perl/perl5/commit/0b43332e82449ec04d8ca1086320362791b6a011
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
XXX ruler lib/locale_threads.t
Commit: 94e9ad53d1cb74b2a5c6bcc45258d95891862523
https://github.com/Perl/perl5/commit/94e9ad53d1cb74b2a5c6bcc45258d95891862523
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M hints/freebsd.sh
M hints/openbsd.sh
Log Message:
-----------
XXX try out bsd 2008
Commit: 5ec5f09ad361aefdc80e0fbfced3bc890ed7ea43
https://github.com/Perl/perl5/commit/5ec5f09ad361aefdc80e0fbfced3bc890ed7ea43
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 3a80052e4c91a34eac381ddbb839eb9f76e6d1f5
https://github.com/Perl/perl5/commit/3a80052e4c91a34eac381ddbb839eb9f76e6d1f5
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 7ffb07853e83b5db0c7e55bb5de2ec22e05b0cbf
https://github.com/Perl/perl5/commit/7ffb07853e83b5db0c7e55bb5de2ec22e05b0cbf
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M lib/locale.t
Log Message:
-----------
XXX temp: lib/locale.t: debug
Commit: 43d349dafe13d7f29ae1956be3205e00bbc427bb
https://github.com/Perl/perl5/commit/43d349dafe13d7f29ae1956be3205e00bbc427bb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t FILE debug
Commit: 529a183a485c283c5b5b85b80e97a78795c9f061
https://github.com/Perl/perl5/commit/529a183a485c283c5b5b85b80e97a78795c9f061
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t
Commit: 2826628a64a24b2dc180058decd3f49c12b9853e
https://github.com/Perl/perl5/commit/2826628a64a24b2dc180058decd3f49c12b9853e
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M pod/perlhacktips.pod
Log Message:
-----------
XXX incomplete perlhacktips:
Commit: 268cc19edda5571b9eefefb15cc84ed8d0b35282
https://github.com/Perl/perl5/commit/268cc19edda5571b9eefefb15cc84ed8d0b35282
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M handy.h
Log Message:
-----------
XXX cygwin debugging small macro buf
Commit: d319e27db2605338db308715fe5499aad20a53bd
https://github.com/Perl/perl5/commit/d319e27db2605338db308715fe5499aad20a53bd
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M iperlsys.h
Log Message:
-----------
iperlsys.h: TODO need to look at adding mutexes
Commit: 3273c11c29c177789c2c54641d3da606da9a6372
https://github.com/Perl/perl5/commit/3273c11c29c177789c2c54641d3da606da9a6372
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M regen/reentr.pl
Log Message:
-----------
reentr.pl: XXX about needing mutex
Commit: 467305446f95d4d8e161e3f80ce1dc9c91902b29
https://github.com/Perl/perl5/commit/467305446f95d4d8e161e3f80ce1dc9c91902b29
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M regexec.c
Log Message:
-----------
regexec.c: XXX has cast to U8 for some reason
Commit: 48e5e9b099f74c89d0fcbccb6e943311798108a2
https://github.com/Perl/perl5/commit/48e5e9b099f74c89d0fcbccb6e943311798108a2
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M sv.c
Log Message:
-----------
perlapi: Combine sv_eq(), sv_eq_flags() entries
Commit: 72a912c81a64b7c7bf306adb360556f08617ffaf
https://github.com/Perl/perl5/commit/72a912c81a64b7c7bf306adb360556f08617ffaf
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M dist/ExtUtils-ParseXS/lib/perlxs.pod
M t/porting/known_pod_issues.dat
Log Message:
-----------
perlxs
Commit: ed48a7717ee4f751d3c63673d243dc42cd08309b
https://github.com/Perl/perl5/commit/ed48a7717ee4f751d3c63673d243dc42cd08309b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M dist/IO/IO.xs
Log Message:
-----------
XXX check if using ppport IO.xs: Remove fallback code furnished by ppport
Commit: 4fbd93fd1053cc70ad8f25f45cb5de7b3f5b7710
https://github.com/Perl/perl5/commit/4fbd93fd1053cc70ad8f25f45cb5de7b3f5b7710
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M pp.c
Log Message:
-----------
Debug Windows memory usage in pp_study
Commit: a2697f4225e865a22a612be9ae3f3de79b1b09d7
https://github.com/Perl/perl5/commit/a2697f4225e865a22a612be9ae3f3de79b1b09d7
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M pod/perlmod.pod
Log Message:
-----------
perlmod
Commit: 7bd7087a3606290ebc7bdfd34ef4690c404ec559
https://github.com/Perl/perl5/commit/7bd7087a3606290ebc7bdfd34ef4690c404ec559
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
XXX perl.h: Debugging mutex lock'
Commit: 20b7a362302df66daf8e382137f2825d463f3a80
https://github.com/Perl/perl5/commit/20b7a362302df66daf8e382137f2825d463f3a80
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: dc085a2acc23d7f9d9b9f9b703645d8acbbbf7c8
https://github.com/Perl/perl5/commit/dc085a2acc23d7f9d9b9f9b703645d8acbbbf7c8
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 96637115af3015e2048a3902a5bae5e9645cb8ad
https://github.com/Perl/perl5/commit/96637115af3015e2048a3902a5bae5e9645cb8ad
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: b31e447b57e73fb8468c744020ae53a930adaa4a
https://github.com/Perl/perl5/commit/b31e447b57e73fb8468c744020ae53a930adaa4a
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: eec3815548b59ea07108f59b63d59558ff8a0375
https://github.com/Perl/perl5/commit/eec3815548b59ea07108f59b63d59558ff8a0375
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: b987ea38064bd84b7cab51ba9b7f33772ed36dc0
https://github.com/Perl/perl5/commit/b987ea38064bd84b7cab51ba9b7f33772ed36dc0
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 06dc5cb30d5779eac42cb0bca561ad615b3f3df1
https://github.com/Perl/perl5/commit/06dc5cb30d5779eac42cb0bca561ad615b3f3df1
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 84abee51e74ad86a077873f14f4f3432e9d35a97
https://github.com/Perl/perl5/commit/84abee51e74ad86a077873f14f4f3432e9d35a97
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M embed.fnc
M proto.h
Log Message:
-----------
locale.c: Add warning if function return ignored
Commit: fb43a93fbfcb8ee342ad31029ca1d8aaa60864d2
https://github.com/Perl/perl5/commit/fb43a93fbfcb8ee342ad31029ca1d8aaa60864d2
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: d8dd168f8820042bd982ea59b9b8974c7dd637ce
https://github.com/Perl/perl5/commit/d8dd168f8820042bd982ea59b9b8974c7dd637ce
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: e9bc5f08e655ee5c093c0d3d84d98109c830f119
https://github.com/Perl/perl5/commit/e9bc5f08e655ee5c093c0d3d84d98109c830f119
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 99bad26e817b23770d2360b0ab0bb7098dd14992
https://github.com/Perl/perl5/commit/99bad26e817b23770d2360b0ab0bb7098dd14992
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 5051e05b3d22240b57bdffc6551e33d28e120fd5
https://github.com/Perl/perl5/commit/5051e05b3d22240b57bdffc6551e33d28e120fd5
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: c24b95f0345967d6a6dbbd31abcdc4f9bda1ee2b
https://github.com/Perl/perl5/commit/c24b95f0345967d6a6dbbd31abcdc4f9bda1ee2b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6653fe227b72ad02e8c5aa6ff3a22d75573e6f08
https://github.com/Perl/perl5/commit/6653fe227b72ad02e8c5aa6ff3a22d75573e6f08
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 33c11e2c799ceaf7fbfbd3e6ad4a81fb202ae48e
https://github.com/Perl/perl5/commit/33c11e2c799ceaf7fbfbd3e6ad4a81fb202ae48e
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 221b440b72c5be5dd8b1cb21d19ed40e52490b92
https://github.com/Perl/perl5/commit/221b440b72c5be5dd8b1cb21d19ed40e52490b92
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: e0d9e797947107b6deee665789b450e9eb4bef61
https://github.com/Perl/perl5/commit/e0d9e797947107b6deee665789b450e9eb4bef61
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 0d54634326d21ee263389909465d9304d64ade31
https://github.com/Perl/perl5/commit/0d54634326d21ee263389909465d9304d64ade31
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 53d500b01da8bc75c8f2b861de53ac14e00a8843
https://github.com/Perl/perl5/commit/53d500b01da8bc75c8f2b861de53ac14e00a8843
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6d8302ef9872836904ca9acde61a7d3675a53e99
https://github.com/Perl/perl5/commit/6d8302ef9872836904ca9acde61a7d3675a53e99
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a3b23c2efa460777ef08e9fb746e0347f0d05289
https://github.com/Perl/perl5/commit/a3b23c2efa460777ef08e9fb746e0347f0d05289
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 09cc75660dfe051ac97e53b91b6262596c5a5cf0
https://github.com/Perl/perl5/commit/09cc75660dfe051ac97e53b91b6262596c5a5cf0
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 89f4696cddbc7c23dd903f242fbac5276bd3defb
https://github.com/Perl/perl5/commit/89f4696cddbc7c23dd903f242fbac5276bd3defb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 26b469233821047e5c1fb3c248773661009739ec
https://github.com/Perl/perl5/commit/26b469233821047e5c1fb3c248773661009739ec
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 4788ac30bfc7ce3ee9bcb0274edbfbe3215f58e2
https://github.com/Perl/perl5/commit/4788ac30bfc7ce3ee9bcb0274edbfbe3215f58e2
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: e713c4579bd91b2cc039819549c6e3e1d4e39f50
https://github.com/Perl/perl5/commit/e713c4579bd91b2cc039819549c6e3e1d4e39f50
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
S_toggle_locale_i: Move some assert()s, initialization
Commit: 425ef4fd0df677ad118017d2ae754a890fdd5b74
https://github.com/Perl/perl5/commit/425ef4fd0df677ad118017d2ae754a890fdd5b74
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6ef679b41cd9a52ede784bcbc4b815463b10216f
https://github.com/Perl/perl5/commit/6ef679b41cd9a52ede784bcbc4b815463b10216f
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 8a73801455019e165314bcc09239fd7f39cad663
https://github.com/Perl/perl5/commit/8a73801455019e165314bcc09239fd7f39cad663
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 75362468c81390565614d81a4a4ac48fe1a30d6b
https://github.com/Perl/perl5/commit/75362468c81390565614d81a4a4ac48fe1a30d6b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a9380f0b1477d0c63701acef5b18bbb7eec11708
https://github.com/Perl/perl5/commit/a9380f0b1477d0c63701acef5b18bbb7eec11708
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 48212c5a2aaffcaed244fced4d6dc71e92d3656d
https://github.com/Perl/perl5/commit/48212c5a2aaffcaed244fced4d6dc71e92d3656d
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 93138330bb9a02f4ca2c2e86f2d37ab1f3594699
https://github.com/Perl/perl5/commit/93138330bb9a02f4ca2c2e86f2d37ab1f3594699
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 748700163b7d2785fdbfcfe16191d3de8375c568
https://github.com/Perl/perl5/commit/748700163b7d2785fdbfcfe16191d3de8375c568
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 67e1f223d11c05a05dab50a8782a427c050c6932
https://github.com/Perl/perl5/commit/67e1f223d11c05a05dab50a8782a427c050c6932
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a905342f109cc96db99beeb14d46923c9bb83330
https://github.com/Perl/perl5/commit/a905342f109cc96db99beeb14d46923c9bb83330
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 7564f420070409667f976719f321da8b3436a2ce
https://github.com/Perl/perl5/commit/7564f420070409667f976719f321da8b3436a2ce
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 40c1411772856dcae4903669e7b1dcdadbcbcb74
https://github.com/Perl/perl5/commit/40c1411772856dcae4903669e7b1dcdadbcbcb74
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a4e71655ff30a65f38df81d3b711d4cc6a2387b0
https://github.com/Perl/perl5/commit/a4e71655ff30a65f38df81d3b711d4cc6a2387b0
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 637215dcfd2c264ea740cd4e6dacefa74938a3fa
https://github.com/Perl/perl5/commit/637215dcfd2c264ea740cd4e6dacefa74938a3fa
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 0b68288a276f45952fab91a936beaae8ce1fdf82
https://github.com/Perl/perl5/commit/0b68288a276f45952fab91a936beaae8ce1fdf82
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Workaround some libc POSIX 2008 bugs
Some systems try to make C.UTF-8 the same locale as plain C or POSIX.
The latter two names are synonymous according to the POSIX Standard, but
C.UTF-8 isn't. It might be possible to implement them all with one
locale internally, but in some cases, at least, that isn't transparent
to us, leading to wrong results.
This commit adds a workaround for this problem.
See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269375
Commit: a791c583eb76cdc665f6741451e73dc5610f011d
https://github.com/Perl/perl5/commit/a791c583eb76cdc665f6741451e73dc5610f011d
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
XXX pod?: locale.c: Add optional locking around querylocale()
The querylocale() libc call on some systems is non-standard, and
experience has shown it isn't necessarily thread-safe, especially on
Darwin. It does appear to be safe on modern *BSD boxes. This commit
adds a locking mechanism that can be set up in a hints file.
Commit: 1e9dfd95e42e0a3cb364ce77600d4d73be755ef3
https://github.com/Perl/perl5/commit/1e9dfd95e42e0a3cb364ce77600d4d73be755ef3
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Move a #define, and add a comment
Commit: 780db3256cdf74c6bc027f175f5fc424aa2c4f40
https://github.com/Perl/perl5/commit/780db3256cdf74c6bc027f175f5fc424aa2c4f40
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 2a76628b781d4d090c526755b17f39d855576684
https://github.com/Perl/perl5/commit/2a76628b781d4d090c526755b17f39d855576684
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 0ac57f34f491375b03ba6d754e72c049080a22e3
https://github.com/Perl/perl5/commit/0ac57f34f491375b03ba6d754e72c049080a22e3
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Move two helper functions for POSIX 2008 implementation
Commit: 875ba926c41e88fcc457845fed7d2951f1cc416b
https://github.com/Perl/perl5/commit/875ba926c41e88fcc457845fed7d2951f1cc416b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 1e0e8fcd5016b65ab787669ab6509aec4268a04e
https://github.com/Perl/perl5/commit/1e0e8fcd5016b65ab787669ab6509aec4268a04e
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: ae66efc65f00934bf96f3513e5f62ca0a6967a43
https://github.com/Perl/perl5/commit/ae66efc65f00934bf96f3513e5f62ca0a6967a43
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 9c205e239209ac5785cb1ecea082dcc3817c395e
https://github.com/Perl/perl5/commit/9c205e239209ac5785cb1ecea082dcc3817c395e
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 429de9445988583e3a4f108a8e38dbf7c9ad157a
https://github.com/Perl/perl5/commit/429de9445988583e3a4f108a8e38dbf7c9ad157a
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
M perl.h
Log Message:
-----------
locale.c, perl.h: comments, white space
Commit: 9f37c2777c96f1b03826ccf8bdc9977c3261ff6a
https://github.com/Perl/perl5/commit/9f37c2777c96f1b03826ccf8bdc9977c3261ff6a
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: dfd9ab280ba3f42a8677b346e49a9d38805f2c25
https://github.com/Perl/perl5/commit/dfd9ab280ba3f42a8677b346e49a9d38805f2c25
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 153b95e2bc93de077f4c47d39c4e0745088088d5
https://github.com/Perl/perl5/commit/153b95e2bc93de077f4c47d39c4e0745088088d5
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 121c9cf0de378f884dcfeb0e2f6abf3291106cc9
https://github.com/Perl/perl5/commit/121c9cf0de378f884dcfeb0e2f6abf3291106cc9
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: c99614de2dfb95a7cc579f72f388934e2cc89368
https://github.com/Perl/perl5/commit/c99614de2dfb95a7cc579f72f388934e2cc89368
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 9fcb4aa8ca1198f8a3934369b48a9ec9238597dd
https://github.com/Perl/perl5/commit/9fcb4aa8ca1198f8a3934369b48a9ec9238597dd
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 544cb35df3600a7ea0c16e849d661f8b62d85f97
https://github.com/Perl/perl5/commit/544cb35df3600a7ea0c16e849d661f8b62d85f97
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 8041f980e8962e3fb02130e9b7299f79c2da5082
https://github.com/Perl/perl5/commit/8041f980e8962e3fb02130e9b7299f79c2da5082
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 7a2c90ad0ac6706cf298e49d12819a7853123c56
https://github.com/Perl/perl5/commit/7a2c90ad0ac6706cf298e49d12819a7853123c56
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 018ae29d8b810ebfe044c92704c14b0566d851af
https://github.com/Perl/perl5/commit/018ae29d8b810ebfe044c92704c14b0566d851af
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 7980d2a637e2c9e2eeea6031b30a756a1ef34ec2
https://github.com/Perl/perl5/commit/7980d2a637e2c9e2eeea6031b30a756a1ef34ec2
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 8062d66793bd49d8baad28c173971e75c7ae0aa2
https://github.com/Perl/perl5/commit/8062d66793bd49d8baad28c173971e75c7ae0aa2
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Move a macro definition earlier in the file
Commit: f70c53b69e130c24a389fc5bda54709dca8e88cb
https://github.com/Perl/perl5/commit/f70c53b69e130c24a389fc5bda54709dca8e88cb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 42c2f876e555cfe23a088965677b66bc2cc2ffaa
https://github.com/Perl/perl5/commit/42c2f876e555cfe23a088965677b66bc2cc2ffaa
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Only define string constant on platforms that need it
Commit: 6988efbd7248c7e1eb2ec5881a416cc6a25ba54d
https://github.com/Perl/perl5/commit/6988efbd7248c7e1eb2ec5881a416cc6a25ba54d
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: e2813aaab1042d4e512aaa2652484d14e8166bfb
https://github.com/Perl/perl5/commit/e2813aaab1042d4e512aaa2652484d14e8166bfb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 72760c8dbbf1bdca7915d32e47ab3ae4195e7b0b
https://github.com/Perl/perl5/commit/72760c8dbbf1bdca7915d32e47ab3ae4195e7b0b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 59bcade882045fe6b02f7a40ae7e33a4a3f06e04
https://github.com/Perl/perl5/commit/59bcade882045fe6b02f7a40ae7e33a4a3f06e04
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: f1f654c54f24351489bcdbbd21839d7c79757c90
https://github.com/Perl/perl5/commit/f1f654c54f24351489bcdbbd21839d7c79757c90
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: eda9e6dd9708c3511c87ef2dd6ca7c4ccafe0d23
https://github.com/Perl/perl5/commit/eda9e6dd9708c3511c87ef2dd6ca7c4ccafe0d23
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 709c20c0aee41b0404a16e9973c9c9a829ce24c4
https://github.com/Perl/perl5/commit/709c20c0aee41b0404a16e9973c9c9a829ce24c4
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 28fb54d6de6af6dc7cc7e53aae9cdb0e398218b7
https://github.com/Perl/perl5/commit/28fb54d6de6af6dc7cc7e53aae9cdb0e398218b7
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M utf8.h
Log Message:
-----------
silence utf8.h warning
Commit: 41c84702d77718ae8fd0770cd16fd1a35cc9f6be
https://github.com/Perl/perl5/commit/41c84702d77718ae8fd0770cd16fd1a35cc9f6be
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: fa9b8165f3db9943a74c0140f514d8654cde44d6
https://github.com/Perl/perl5/commit/fa9b8165f3db9943a74c0140f514d8654cde44d6
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 7a2027d3c1dd9b812999db7b0b56b2b30f9d1017
https://github.com/Perl/perl5/commit/7a2027d3c1dd9b812999db7b0b56b2b30f9d1017
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Don't over allocate array
This previously added an extraneous unused element.
Commit: 8bc446fc03cfd09ac75d52a17450beca86c72362
https://github.com/Perl/perl5/commit/8bc446fc03cfd09ac75d52a17450beca86c72362
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a7fb0c49f1c57a313fd4995bbecfcd832b273740
https://github.com/Perl/perl5/commit/a7fb0c49f1c57a313fd4995bbecfcd832b273740
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: bec8c6b608a02382ac7373bae5d8a8616182a7c8
https://github.com/Perl/perl5/commit/bec8c6b608a02382ac7373bae5d8a8616182a7c8
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: df77cbe03ba3557c972c87b1e559d0fb9bb5bef3
https://github.com/Perl/perl5/commit/df77cbe03ba3557c972c87b1e559d0fb9bb5bef3
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: e0b6bb9959a1c0f6be1fc06413530450ff40515c
https://github.com/Perl/perl5/commit/e0b6bb9959a1c0f6be1fc06413530450ff40515c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: bcef45ef0ff714b3436f58b8bead7ee28dea617c
https://github.com/Perl/perl5/commit/bcef45ef0ff714b3436f58b8bead7ee28dea617c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
S_find_locale_from_environment(): Add comments
Commit: fd5efc9051e7b951a1b1d4f3db746e4260881635
https://github.com/Perl/perl5/commit/fd5efc9051e7b951a1b1d4f3db746e4260881635
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 08a02150358abc9e97688b70f9a4d91d855efb44
https://github.com/Perl/perl5/commit/08a02150358abc9e97688b70f9a4d91d855efb44
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 2f2e3ac6766a0a92288c2a656c71906362617752
https://github.com/Perl/perl5/commit/2f2e3ac6766a0a92288c2a656c71906362617752
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 1e21ac1bd2c42236187bd21e8f7c62d3ce29ac04
https://github.com/Perl/perl5/commit/1e21ac1bd2c42236187bd21e8f7c62d3ce29ac04
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
S_bool_setlocale_2008_i: Improve debug statements
Commit: 79c30140a6a0061818e0a08afc0540e03a8dff9b
https://github.com/Perl/perl5/commit/79c30140a6a0061818e0a08afc0540e03a8dff9b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: d6fdb5fe30a0bf1d2d9d7bd3ad3e3dda677085d0
https://github.com/Perl/perl5/commit/d6fdb5fe30a0bf1d2d9d7bd3ad3e3dda677085d0
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 512539e19255c5758e33960ed46b643ced618601
https://github.com/Perl/perl5/commit/512539e19255c5758e33960ed46b643ced618601
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Move declaration closer to first use
Commit: 21fe2fc5a1969199d3be0a8356f37d1459082f77
https://github.com/Perl/perl5/commit/21fe2fc5a1969199d3be0a8356f37d1459082f77
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 2594f0132e933c2d63faad6b4f8c47c31830329e
https://github.com/Perl/perl5/commit/2594f0132e933c2d63faad6b4f8c47c31830329e
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 4bafdbc192e24351e789ad5d9390ee742be0d826
https://github.com/Perl/perl5/commit/4bafdbc192e24351e789ad5d9390ee742be0d826
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 858d4570d390a882022e185e766e54ad9e872e59
https://github.com/Perl/perl5/commit/858d4570d390a882022e185e766e54ad9e872e59
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: de60a721b105bd9bdd1f491fea8311375b1a5958
https://github.com/Perl/perl5/commit/de60a721b105bd9bdd1f491fea8311375b1a5958
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a0c043d9e79fec83cf0c5b6b318d6a60377affdf
https://github.com/Perl/perl5/commit/a0c043d9e79fec83cf0c5b6b318d6a60377affdf
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 9a9b0aaeccb3764dcb874c120e269afa65efccc6
https://github.com/Perl/perl5/commit/9a9b0aaeccb3764dcb874c120e269afa65efccc6
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
M perl.h
Log Message:
-----------
locale.c: Update comments, white-space in 2 functions
Commit: 76e2ed069204ca4b475de255dd6e7e0a910301cc
https://github.com/Perl/perl5/commit/76e2ed069204ca4b475de255dd6e7e0a910301cc
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 23dc3790ae92ede7b750aa03c8fce08808432ca6
https://github.com/Perl/perl5/commit/23dc3790ae92ede7b750aa03c8fce08808432ca6
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: d08bf0548d5a83ef08fe0ebdcae7c34407e73d33
https://github.com/Perl/perl5/commit/d08bf0548d5a83ef08fe0ebdcae7c34407e73d33
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 0be307dbd2102bf6b152a50e289a755c72e97813
https://github.com/Perl/perl5/commit/0be307dbd2102bf6b152a50e289a755c72e97813
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6897bf0df60d735e56c202f5421cdffeaeb5a8a3
https://github.com/Perl/perl5/commit/6897bf0df60d735e56c202f5421cdffeaeb5a8a3
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: f410c8ce644ef9b997128349ed7c8750ce135fe2
https://github.com/Perl/perl5/commit/f410c8ce644ef9b997128349ed7c8750ce135fe2
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 941c04097671052e3bb8d054251c1af50947eb57
https://github.com/Perl/perl5/commit/941c04097671052e3bb8d054251c1af50947eb57
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 15a42594615d3a98eef53788a1a15f273e10817b
https://github.com/Perl/perl5/commit/15a42594615d3a98eef53788a1a15f273e10817b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 519e4bbeac39a0eaac7c98915fc4c357005165ea
https://github.com/Perl/perl5/commit/519e4bbeac39a0eaac7c98915fc4c357005165ea
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Avoid a duplicate conditional
Commit: 9e373b5d8c21673ef8d16908f9aa6b40335eb85a
https://github.com/Perl/perl5/commit/9e373b5d8c21673ef8d16908f9aa6b40335eb85a
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Initialize PL_cur_locale_obj
Commit: a4c786800b4fc75110450aaeacd7c104c60057f5
https://github.com/Perl/perl5/commit/a4c786800b4fc75110450aaeacd7c104c60057f5
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6c69b2f499239f1df8608f5e34b37748c2b585b6
https://github.com/Perl/perl5/commit/6c69b2f499239f1df8608f5e34b37748c2b585b6
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 98f6b6d9daa9f63bf3591f435c7546603836e647
https://github.com/Perl/perl5/commit/98f6b6d9daa9f63bf3591f435c7546603836e647
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 3784ba5d316457fb86617896edc60fa7bf881ac7
https://github.com/Perl/perl5/commit/3784ba5d316457fb86617896edc60fa7bf881ac7
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 3ba1e44d3431c4b36a9ea2fdde6ad8a5f452aa2d
https://github.com/Perl/perl5/commit/3ba1e44d3431c4b36a9ea2fdde6ad8a5f452aa2d
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a8f2ae27a7ee207bda56de5a5c5bf71469628d45
https://github.com/Perl/perl5/commit/a8f2ae27a7ee207bda56de5a5c5bf71469628d45
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 80b2b41d1f7125bdc63817b9448ed5cff072ec91
https://github.com/Perl/perl5/commit/80b2b41d1f7125bdc63817b9448ed5cff072ec91
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: e4c1883527467cee8469403e3f2454d50c3cd1bc
https://github.com/Perl/perl5/commit/e4c1883527467cee8469403e3f2454d50c3cd1bc
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 4ac114175bfe694cca4221e68c0f260f468a848d
https://github.com/Perl/perl5/commit/4ac114175bfe694cca4221e68c0f260f468a848d
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Remove no longer used macro
Commit: 3d6e7ca343d62c0111fb10fbb6e24b50a861f166
https://github.com/Perl/perl5/commit/3d6e7ca343d62c0111fb10fbb6e24b50a861f166
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: fc689b0a84b55783ebea302671577e14a783f926
https://github.com/Perl/perl5/commit/fc689b0a84b55783ebea302671577e14a783f926
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 8cbbdec0a7480c81d159fd7268c2c53bd8ffba32
https://github.com/Perl/perl5/commit/8cbbdec0a7480c81d159fd7268c2c53bd8ffba32
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
savepv if threaded, unused I think
Commit: 17be7564445e8623f4dfc6007def51cfbb729c35
https://github.com/Perl/perl5/commit/17be7564445e8623f4dfc6007def51cfbb729c35
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Rmv unexecuted statement after croak
Commit: 991d408a7d04ffac69f20c233a81647988f03f99
https://github.com/Perl/perl5/commit/991d408a7d04ffac69f20c233a81647988f03f99
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: ccc34b65b33ab0b07c4304bcf42c9436eb27e317
https://github.com/Perl/perl5/commit/ccc34b65b33ab0b07c4304bcf42c9436eb27e317
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
XXX introductory file comments
Commit: de8ad300566a723f8a635e8c56a368a391b6410f
https://github.com/Perl/perl5/commit/de8ad300566a723f8a635e8c56a368a391b6410f
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 1974bcaf46ae09ad10aa0f7e4c252b9fd789a79e
https://github.com/Perl/perl5/commit/1974bcaf46ae09ad10aa0f7e4c252b9fd789a79e
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 0cac539ed471d4d693a8738c646914636e5b61f0
https://github.com/Perl/perl5/commit/0cac539ed471d4d693a8738c646914636e5b61f0
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: c6f670b59082507aabe3442b962b340e3f78905e
https://github.com/Perl/perl5/commit/c6f670b59082507aabe3442b962b340e3f78905e
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 87fa42a307c52cf9f99fe8ee91651578c1adeefc
https://github.com/Perl/perl5/commit/87fa42a307c52cf9f99fe8ee91651578c1adeefc
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 8a1e6ffb5cb25297616680df182c5d5a9f07233c
https://github.com/Perl/perl5/commit/8a1e6ffb5cb25297616680df182c5d5a9f07233c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 03e9f83e0f78567e0b947fc38452c2e20b21cbc9
https://github.com/Perl/perl5/commit/03e9f83e0f78567e0b947fc38452c2e20b21cbc9
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
perlapi: Improve wording for Perl_langinfo()
Commit: 4650a77e1e30b9b53036b399f6f4520f5c075840
https://github.com/Perl/perl5/commit/4650a77e1e30b9b53036b399f6f4520f5c075840
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 8d3c226ac8335117ca27788a9de33420b45f8171
https://github.com/Perl/perl5/commit/8d3c226ac8335117ca27788a9de33420b45f8171
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6e2b226feaceee12e533760827974da6d3f23474
https://github.com/Perl/perl5/commit/6e2b226feaceee12e533760827974da6d3f23474
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
S_stdize_locale: Set errno if fails
Commit: fd064cc06032d36ffb1b3d053f8d4745d7f343bb
https://github.com/Perl/perl5/commit/fd064cc06032d36ffb1b3d053f8d4745d7f343bb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 7bd6917a36e2db22af39b06f7d86211b65714b63
https://github.com/Perl/perl5/commit/7bd6917a36e2db22af39b06f7d86211b65714b63
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/porting/bincompat.t
Log Message:
-----------
skip bincompat.t
Commit: 13675cd3982c818ca50215c7867d46c1ba429db5
https://github.com/Perl/perl5/commit/13675cd3982c818ca50215c7867d46c1ba429db5
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M hints/darwin.sh
Log Message:
-----------
darwin hints querylocale race in earlier darwins?
Commit: b09c49eb26d305616634df4b0076481c90109095
https://github.com/Perl/perl5/commit/b09c49eb26d305616634df4b0076481c90109095
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M intrpvar.h
Log Message:
-----------
intrpvar.h: Comments
Commit: b4f4f974bcc31bbcc74f4e58528cfc650fb1569b
https://github.com/Perl/perl5/commit/b4f4f974bcc31bbcc74f4e58528cfc650fb1569b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 36150236ae8c81a6c06451fd1c01554003c79cc3
https://github.com/Perl/perl5/commit/36150236ae8c81a6c06451fd1c01554003c79cc3
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M intrpvar.h
M locale.c
M makedef.pl
M sv.c
Log Message:
-----------
XXX finish msg: locale.c: Improve Windows thread initialization
Commit: 6bd9af0217b4663ae9b0e1813a4788c7836787bb
https://github.com/Perl/perl5/commit/6bd9af0217b4663ae9b0e1813a4788c7836787bb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: cc95b0f25e807cdfe98c74c49f9bb64576740adb
https://github.com/Perl/perl5/commit/cc95b0f25e807cdfe98c74c49f9bb64576740adb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: fcb3bcfd5ca6dc5e0536dce8e0ce05e1acb5869f
https://github.com/Perl/perl5/commit/fcb3bcfd5ca6dc5e0536dce8e0ce05e1acb5869f
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 452896b023f9a35609280608208da6b101a28603
https://github.com/Perl/perl5/commit/452896b023f9a35609280608208da6b101a28603
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M Configure
M locale.c
M metaconfig.h
M perl.h
Log Message:
-----------
f Configure
Commit: 422266d456f8697205a5796b0408723e850b1175
https://github.com/Perl/perl5/commit/422266d456f8697205a5796b0408723e850b1175
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M Configure
M locale.c
M metaconfig.h
M perl.h
Log Message:
-----------
Revert "f Configure"
This reverts commit 12d2cfd3fbf933bbbfb52a448d8bdda62f7ac100.
Commit: 5f89fa9490fe85d2552be07169ac70f80947ee50
https://github.com/Perl/perl5/commit/5f89fa9490fe85d2552be07169ac70f80947ee50
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
drop when Configure fixed
Commit: a90e4abb06caafd852daa0385c52aa7d4588d6e7
https://github.com/Perl/perl5/commit/a90e4abb06caafd852daa0385c52aa7d4588d6e7
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
makedef.pl: PL_cur_locale_obj is only POSIX 2008 multiplicity
Commit: e5066391291dff53f5b72704fb60892579ca7929
https://github.com/Perl/perl5/commit/e5066391291dff53f5b72704fb60892579ca7929
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
makedef.pl: Move comment
Commit: d4ca37c1c511400b7e0ac27b511e5bde8dc3076d
https://github.com/Perl/perl5/commit/d4ca37c1c511400b7e0ac27b511e5bde8dc3076d
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
Maybe drop: makedef.pl: Move code
Commit: 8a6825dc29a572d1854e044841611f5768f4e468
https://github.com/Perl/perl5/commit/8a6825dc29a572d1854e044841611f5768f4e468
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
makedef.pl: Remove obsolete symbol
Commit: 99e90b73d20b1a2ff7c86466ba56ce9ca4145e1a
https://github.com/Perl/perl5/commit/99e90b73d20b1a2ff7c86466ba56ce9ca4145e1a
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
Add DEBUG_SETLOCALE_INCONSISTENCIES
Commit: 75d4a08c8c213fd0ed8f7c0f2f34ced526ec41f5
https://github.com/Perl/perl5/commit/75d4a08c8c213fd0ed8f7c0f2f34ced526ec41f5
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 5334500af4b0b54ea4666fc86e5b30d45e52dec8
https://github.com/Perl/perl5/commit/5334500af4b0b54ea4666fc86e5b30d45e52dec8
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
Enable DEBUG_SETLOCALE_INCONSISTENCIES
Commit: d9eb0ff333b9564d24ba632a93d35c16bd449c48
https://github.com/Perl/perl5/commit/d9eb0ff333b9564d24ba632a93d35c16bd449c48
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Add detail to locale mutex debug
Commit: 43894da30761960954b8e3d5a006bfff3df6e42b
https://github.com/Perl/perl5/commit/43894da30761960954b8e3d5a006bfff3df6e42b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
M perl.h
M t/porting/customized.dat
Log Message:
-----------
XXX remaining loose ends
Commit: 563300d9e8d93373dc59ceed6bbb127948ca2368
https://github.com/Perl/perl5/commit/563300d9e8d93373dc59ceed6bbb127948ca2368
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M cpan/version/t/07locale.t
M pod/perlembed.pod
M t/porting/customized.dat
Log Message:
-----------
final commit
Commit: 727008f9cdf8f5d3623f302ef10cbb1462a587c3
https://github.com/Perl/perl5/commit/727008f9cdf8f5d3623f302ef10cbb1462a587c3
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
use enum, maybe drop
Commit: 647c273a6f97d20b837fbbd35f1ab91499245909
https://github.com/Perl/perl5/commit/647c273a6f97d20b837fbbd35f1ab91499245909
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
Revert "prev commit"
This reverts commit 4be10ec67fb8fef94cb573a8f7b51cb23610517f.
Commit: 1c803e42c3a87e9c9b888011d23b2f507e11cd57
https://github.com/Perl/perl5/commit/1c803e42c3a87e9c9b888011d23b2f507e11cd57
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M embed.fnc
M locale.c
M proto.h
Log Message:
-----------
more cat index enum
Commit: 5a389e4031f295017984d3b39e530c6043c66324
https://github.com/Perl/perl5/commit/5a389e4031f295017984d3b39e530c6043c66324
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: f2a2a67c38da323c92747bfdcb0db57bf85462a7
https://github.com/Perl/perl5/commit/f2a2a67c38da323c92747bfdcb0db57bf85462a7
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
f
Commit: 1d8360fceb4a47927b0fdfc36efa8991c8706650
https://github.com/Perl/perl5/commit/1d8360fceb4a47927b0fdfc36efa8991c8706650
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h fixup
Commit: 24e54c5220260b43611a33a3f1c1b922d08a9d2f
https://github.com/Perl/perl5/commit/24e54c5220260b43611a33a3f1c1b922d08a9d2f
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M Configure
Log Message:
-----------
f Configure for positional
Commit: 316b6af1e02e93ab102dbc3850dc7c00d29edbde
https://github.com/Perl/perl5/commit/316b6af1e02e93ab102dbc3850dc7c00d29edbde
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
fixup init for C C C C C
Commit: 0929ffff6fc4a143a2bcbaed69d2230439b318a9
https://github.com/Perl/perl5/commit/0929ffff6fc4a143a2bcbaed69d2230439b318a9
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
perlapi: Fix strftime inaccuracies, clarify
Commit: 246b36c8e906f45a8ad2f09374431418114c4080
https://github.com/Perl/perl5/commit/246b36c8e906f45a8ad2f09374431418114c4080
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: ea9a82b65460bed506e3efd36e93d45023080471
https://github.com/Perl/perl5/commit/ea9a82b65460bed506e3efd36e93d45023080471
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
add is_cur_locale_utf8
Commit: 8c7e0ae5ad390dcd96f34372c7892e00a40608bc
https://github.com/Perl/perl5/commit/8c7e0ae5ad390dcd96f34372c7892e00a40608bc
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a138826d147d692ef530dc022b461d1282fefd6c
https://github.com/Perl/perl5/commit/a138826d147d692ef530dc022b461d1282fefd6c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: f0599bc2862acd5b15908fbd7071e5878586ec1d
https://github.com/Perl/perl5/commit/f0599bc2862acd5b15908fbd7071e5878586ec1d
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 4ec2799386b919ffa1408778ca176c65d6edc85f
https://github.com/Perl/perl5/commit/4ec2799386b919ffa1408778ca176c65d6edc85f
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 0ebe753c0641d7530540eb44bb71c337bcf5cf97
https://github.com/Perl/perl5/commit/0ebe753c0641d7530540eb44bb71c337bcf5cf97
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: a7424c6ba0f1d3a56059ef2982b3626e92275f8b
https://github.com/Perl/perl5/commit/a7424c6ba0f1d3a56059ef2982b3626e92275f8b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: f9fe04e1bde60b34ddc03e5115e464055aab7e21
https://github.com/Perl/perl5/commit/f9fe04e1bde60b34ddc03e5115e464055aab7e21
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: fe5b7d761cce16f695706b04d2c1cd771eeca56c
https://github.com/Perl/perl5/commit/fe5b7d761cce16f695706b04d2c1cd771eeca56c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 91f9d540a3f9c8cf2836e70e23087b0ab35465e7
https://github.com/Perl/perl5/commit/91f9d540a3f9c8cf2836e70e23087b0ab35465e7
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 9294afc25abae98a87edf9c8bbb05be5eb7d8cc4
https://github.com/Perl/perl5/commit/9294afc25abae98a87edf9c8bbb05be5eb7d8cc4
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Remove extraneous ';'
Commit: 0f4f0c23b21e442186e4eeecca1e47ebb1ff51eb
https://github.com/Perl/perl5/commit/0f4f0c23b21e442186e4eeecca1e47ebb1ff51eb
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 11a141f70cf3ef6c9583d39acfdce3bc307d83d7
https://github.com/Perl/perl5/commit/11a141f70cf3ef6c9583d39acfdce3bc307d83d7
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M thread.h
Log Message:
-----------
thread.h: White space only
Indent some nested preproccessor defines
Commit: b05a9081329d565b4437d2e9d11a7496d217659b
https://github.com/Perl/perl5/commit/b05a9081329d565b4437d2e9d11a7496d217659b
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M ext/POSIX/t/time.t
Log Message:
-----------
time.t
Commit: ab184254ff8a9fc70e609674d7181c5e900f9468
https://github.com/Perl/perl5/commit/ab184254ff8a9fc70e609674d7181c5e900f9468
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6d80be9431de0267931775010d5d263f6b3fcdf5
https://github.com/Perl/perl5/commit/6d80be9431de0267931775010d5d263f6b3fcdf5
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M ext/POSIX/t/time.t
Log Message:
-----------
XXX see how affects earlier commits: time.t: Add more strftime tests
Commit: a1a7f819a54c37abad275ee34ba6ed02bbc56299
https://github.com/Perl/perl5/commit/a1a7f819a54c37abad275ee34ba6ed02bbc56299
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 1092f69f5c3135b6e07571b9c4657dc19335cc95
https://github.com/Perl/perl5/commit/1092f69f5c3135b6e07571b9c4657dc19335cc95
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 0ce2fa1ede167909d84cbb36c76f512df29f9c38
https://github.com/Perl/perl5/commit/0ce2fa1ede167909d84cbb36c76f512df29f9c38
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 6be90677db3396ca83ab473eb8fe50a6b41a8812
https://github.com/Perl/perl5/commit/6be90677db3396ca83ab473eb8fe50a6b41a8812
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 1835c63746dcc13e605664f4194097c4c84eb734
https://github.com/Perl/perl5/commit/1835c63746dcc13e605664f4194097c4c84eb734
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: 81bc7e50df5f58f9b088b958aae356ac24876c44
https://github.com/Perl/perl5/commit/81bc7e50df5f58f9b088b958aae356ac24876c44
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: f5f6dbe31ee61e85d8d089913d8181731e582ca1
https://github.com/Perl/perl5/commit/f5f6dbe31ee61e85d8d089913d8181731e582ca1
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: f696a36a75660df44fb19ff63962b56bff944689
https://github.com/Perl/perl5/commit/f696a36a75660df44fb19ff63962b56bff944689
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time-Piece: notes to myself
Commit: 6cba0a11442ee5bac52ee38d71d537c0399a27a2
https://github.com/Perl/perl5/commit/6cba0a11442ee5bac52ee38d71d537c0399a27a2
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
dregs
Commit: b71fbd59d136bf7d4d91e760cd57ecf9dc68e546
https://github.com/Perl/perl5/commit/b71fbd59d136bf7d4d91e760cd57ecf9dc68e546
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 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: ff8996f240db798737bc91eb47ee74bbbb0ae580
https://github.com/Perl/perl5/commit/ff8996f240db798737bc91eb47ee74bbbb0ae580
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M util.c
Log Message:
-----------
util.c: Better panic messages
Commit: 296577cceb1e737b34fa607629e5b9fbd3e49377
https://github.com/Perl/perl5/commit/296577cceb1e737b34fa607629e5b9fbd3e49377
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M win32/Makefile
Log Message:
-----------
win32 Makefile
Commit: 25b74493f1f034349e419a1489663d26f468ace8
https://github.com/Perl/perl5/commit/25b74493f1f034349e419a1489663d26f468ace8
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M ext/XS-APItest/t/locale.t
Log Message:
-----------
XS-APItest/t/locale.t: Skip tests if pre-req not met
Rather than have them all failing, if the test that tries to set things
up fails, skip the ones that depend on it having succeeded
Commit: e650f93340d56840b80e85bd6ae3448cfcf83976
https://github.com/Perl/perl5/commit/e650f93340d56840b80e85bd6ae3448cfcf83976
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M ext/XS-APItest/t/locale.t
Log Message:
-----------
XS-APItest/t/locale.t: White space only
Indent to correspond with a new block added in the previous commit
Commit: 55912dfde4c97bf99efbf31d7e9744c23f8f6cc3
https://github.com/Perl/perl5/commit/55912dfde4c97bf99efbf31d7e9744c23f8f6cc3
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t: Avoid duplicate effort
By searching for a bigger set of locales first, then looking only within
that set for a restricted set, we avoid scanning twice. This matters on
Windows machines where the scan is slow.
Commit: 2449cb30c111422c3529c1f62b9e121b17166053
https://github.com/Perl/perl5/commit/2449cb30c111422c3529c1f62b9e121b17166053
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/op/lc.t
Log Message:
-----------
t/op/lc.t: Avoid duplicate effort
By searching for a bigger set of locales first, then looking only within
that set for a restricted set, we avoid scanning twice. This matters on
Windows machines where the scan is slow.
Commit: d81889b6bf7ad21948cf9d7c35e5b7920dcb61e4
https://github.com/Perl/perl5/commit/d81889b6bf7ad21948cf9d7c35e5b7920dcb61e4
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/re/pat.t
Log Message:
-----------
re/pat.t: Avoid duplicate effort
This scalar was being computed twice, and the computation is slow on
Windows.
Commit: 6347300a59b93f5ac8e61d5820046bca5a846938
https://github.com/Perl/perl5/commit/6347300a59b93f5ac8e61d5820046bca5a846938
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/re/pat.t
Log Message:
-----------
re/pat.t: Fix typo in comment
Commit: d80014be2e93b026ee38831bb14317c29223c788
https://github.com/Perl/perl5/commit/d80014be2e93b026ee38831bb14317c29223c788
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M t/run/locale.t
Log Message:
-----------
fdregs
Commit: 1f1638f2d13c95b7331189d2b99ed36415ba2900
https://github.com/Perl/perl5/commit/1f1638f2d13c95b7331189d2b99ed36415ba2900
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M ext/POSIX/t/time.t
Log Message:
-----------
POSIX/t/time.t: Avoid duplicate effort
By searching for a bigger set of locales first, then looking only within
that set for a restricted set, we avoid scanning twice. This matters on
Windows machines where the scan is slow.
Commit: e73051f15b3c8295c95cfd6b87af5feb130c054c
https://github.com/Perl/perl5/commit/e73051f15b3c8295c95cfd6b87af5feb130c054c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Add UNLESS_PERL_MEM_LOG()
This is to be used to wrap code that should not be compiled if
PERL_MEM_LOG is defined. Some things don't play well with that, and
this keeps them from being compiled automatically without extra #ifdefs
Commit: d90cbd3fc783fd79573f4c501e9c87421406a538
https://github.com/Perl/perl5/commit/d90cbd3fc783fd79573f4c501e9c87421406a538
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Use UNLESS_PERL_MEM_LOG()
These debugging statements for mutex locking are done at such a low
level that if PERL_MEM_LOG is used, infinite recursion would be
attempted.
Commit: a223527658a11312f4540e4fe002da50d524a4e8
https://github.com/Perl/perl5/commit/a223527658a11312f4540e4fe002da50d524a4e8
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M inline.h
Log Message:
-----------
Revert #if 0 in inline.h
I don't remember why this was done
Commit: 2ef634f945da43d7c75415565d7b17b137261f59
https://github.com/Perl/perl5/commit/2ef634f945da43d7c75415565d7b17b137261f59
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
XXX why no failures:locale.c: Quit early on failure to set the locale
When trying to set the locale under Windows (only), the code prior to
this commit would continue on to set PL_cur_LC_ALL to NULL, whereas the
failure means nothing changed, so this variable shouldn't either.
Commit: 62c0530f5b4b699578c1b9f0f2791a4ccafcd1f1
https://github.com/Perl/perl5/commit/62c0530f5b4b699578c1b9f0f2791a4ccafcd1f1
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Avoid unnecessary freeing and reallocating
Check first if an interpreter variable has actually changed before
going to the trouble of freeing its memory and reallocating and
populating it.
Commit: d9e5b4410a8af318629d7652d8c14e451ebc04ba
https://github.com/Perl/perl5/commit/d9e5b4410a8af318629d7652d8c14e451ebc04ba
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
Return from win32_setlocale() needs to be stable
Prior to this commit it was subject to freeing when the scope was
exited.
This commit repurposes the already-existing per-thread buffer that holds
the return of setlocale(), stable until the next call to it. Instead of
being used for setlocale() which isn't called directly on Windows
platforms, it uses it for win32_setlocale().
Commit: e91430e50925c92527ba241d6267a81f289326f1
https://github.com/Perl/perl5/commit/e91430e50925c92527ba241d6267a81f289326f1
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M util.c
M win32/perlhost.h
Log Message:
-----------
XXX Win32 mem log
Commit: 65e283f955f2972eb780bd60ce8f526c57fdcf9c
https://github.com/Perl/perl5/commit/65e283f955f2972eb780bd60ce8f526c57fdcf9c
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M util.c
Log Message:
-----------
XXX util add thread to mem_log
Commit: 0a61c2cd8a9408418da926225b8292c0de577f28
https://github.com/Perl/perl5/commit/0a61c2cd8a9408418da926225b8292c0de577f28
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
XXX mv: initialize PL_cur_LC_ALL
Commit: 70b358b7a693f24897cf90a1a0a482f10b506248
https://github.com/Perl/perl5/commit/70b358b7a693f24897cf90a1a0a482f10b506248
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
Debug wrap wset
Commit: 9dcc04a659d6d32ff36d5e10c4c67772ed36b249
https://github.com/Perl/perl5/commit/9dcc04a659d6d32ff36d5e10c4c67772ed36b249
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
more dregs
Commit: baad94e8c9eaf4dfde9669b5e6a0baa239af4fd8
https://github.com/Perl/perl5/commit/baad94e8c9eaf4dfde9669b5e6a0baa239af4fd8
Author: Karl Williamson <[email protected]>
Date: 2023-06-10 (Sat, 10 Jun 2023)
Changed paths:
M embed.fnc
M embed.h
M hints/aix.sh
M lib/locale_threads.t
M locale.c
M perl.h
M proto.h
M t/loc_tools.pl
Log Message:
-----------
foo
Compare: https://github.com/Perl/perl5/compare/192fc0bfa44f...baad94e8c9ea