Branch: refs/heads/smoke-me/khw-env
Home: https://github.com/Perl/perl5
Commit: a045942efa394f65cfda17403fb80f727bce9c67
https://github.com/Perl/perl5/commit/a045942efa394f65cfda17403fb80f727bce9c67
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/harness
Log Message:
-----------
XXX skip croak.t under sanitizer
Commit: c30c543de4fb546d6ff313c970d1bc5d8cb84ab2
https://github.com/Perl/perl5/commit/c30c543de4fb546d6ff313c970d1bc5d8cb84ab2
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 51c07181edf0ba2f0309e23c6c2cfc9860286ff3
https://github.com/Perl/perl5/commit/51c07181edf0ba2f0309e23c6c2cfc9860286ff3
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 9f7142006d9ae5b128dd3fc3896f1aad6289b848
https://github.com/Perl/perl5/commit/9f7142006d9ae5b128dd3fc3896f1aad6289b848
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/TEST
Log Message:
-----------
XXX skip cpan testing
Commit: b67a1d322921ba85388a3d0a8c42125347ed9ed6
https://github.com/Perl/perl5/commit/b67a1d322921ba85388a3d0a8c42125347ed9ed6
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 4513107a8a449f187c4c9223d76fe18c8e310956
https://github.com/Perl/perl5/commit/4513107a8a449f187c4c9223d76fe18c8e310956
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 44d1b2f0c971f579aa8797ab8282d3f5f5154c7d
https://github.com/Perl/perl5/commit/44d1b2f0c971f579aa8797ab8282d3f5f5154c7d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/test.pl
Log Message:
-----------
XXX test.pl: dont unlink temps
Commit: cb99dd2c8e4c5d03e2c7c843598f91d65041a789
https://github.com/Perl/perl5/commit/cb99dd2c8e4c5d03e2c7c843598f91d65041a789
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/test.pl
Log Message:
-----------
Revert "XXX test.pl: dont unlink temps"
This reverts commit 1579ce0dbce549cb594214ba27d4e2fa389f891b.
Commit: e536837d86c0d4e23549f3bcfced02785d0a53ab
https://github.com/Perl/perl5/commit/e536837d86c0d4e23549f3bcfced02785d0a53ab
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/run/locale.t
Log Message:
-----------
run/locale.t: more debug
Commit: 21bdec710566376412c15b4ba1112fd3c8262845
https://github.com/Perl/perl5/commit/21bdec710566376412c15b4ba1112fd3c8262845
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/run/locale.t
Log Message:
-----------
XXX run/locale.t: maybe f move test
Commit: 02409a46f5cf844ace1c6e2ab7f84b0920cf1a54
https://github.com/Perl/perl5/commit/02409a46f5cf844ace1c6e2ab7f84b0920cf1a54
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3ea128f49efab80b277777040ad2f9a3cef7451b
https://github.com/Perl/perl5/commit/3ea128f49efab80b277777040ad2f9a3cef7451b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: a3ed86e436b89f7c4dfdd33a325f15abdec1455a
https://github.com/Perl/perl5/commit/a3ed86e436b89f7c4dfdd33a325f15abdec1455a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M vutil.c
Log Message:
-----------
vutil.c: Debug
Commit: 8f028f1c1a8c04d6b0680bdf1b610ed8c054418e
https://github.com/Perl/perl5/commit/8f028f1c1a8c04d6b0680bdf1b610ed8c054418e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 9254f48c5685f3ccd8f57b381e3301b89c869b86
https://github.com/Perl/perl5/commit/9254f48c5685f3ccd8f57b381e3301b89c869b86
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: a2fd731a043757e093f98c85d6d661e80e04ab03
https://github.com/Perl/perl5/commit/a2fd731a043757e093f98c85d6d661e80e04ab03
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 910d25b8572c2833debe741b70237447942aee2a
https://github.com/Perl/perl5/commit/910d25b8572c2833debe741b70237447942aee2a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M vutil.c
Log Message:
-----------
f vutil
Commit: 237a03db65be2f86e90f22450f50d17d80caad81
https://github.com/Perl/perl5/commit/237a03db65be2f86e90f22450f50d17d80caad81
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: ee3f414677943c5094d1162ffa0e7da2192701f2
https://github.com/Perl/perl5/commit/ee3f414677943c5094d1162ffa0e7da2192701f2
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 4a17bf6e6f63e7649228f4233f0a95473becaf9d
https://github.com/Perl/perl5/commit/4a17bf6e6f63e7649228f4233f0a95473becaf9d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M cpan/Archive-Tar/t/02_methods.t
Log Message:
-----------
XXX skip Archive-Tar because of symlinks
Commit: 95f4fd00d11200fbd7a0f26e3ab726c8edcca11e
https://github.com/Perl/perl5/commit/95f4fd00d11200fbd7a0f26e3ab726c8edcca11e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/porting/cmp_version.t
Log Message:
-----------
XXX skip cmp_version.t because of sym links
Commit: f04d213ee2dbcdc8680637a59ac812d6e5d2b61b
https://github.com/Perl/perl5/commit/f04d213ee2dbcdc8680637a59ac812d6e5d2b61b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
XXX temp to test broken lconv on non-Windows
Commit: 4b184083d66de6149cd088178251761803f5f34a
https://github.com/Perl/perl5/commit/4b184083d66de6149cd088178251761803f5f34a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 5f4f79025afe16de52dac1e98bb4e2a82ea0d21c
https://github.com/Perl/perl5/commit/5f4f79025afe16de52dac1e98bb4e2a82ea0d21c
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M Configure
Log Message:
-----------
XXX Configure temporary to get no_nl, etc working
Commit: bf821cd7a028ea4386a41de3155c7c218f7e5f72
https://github.com/Perl/perl5/commit/bf821cd7a028ea4386a41de3155c7c218f7e5f72
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M win32/config_H.gc
M win32/config_H.vc
Log Message:
-----------
Regenerate Configure after metaconfig backports applied
Commit: 736862b4666c0e629be2c72aaef6b3f1c367b9c2
https://github.com/Perl/perl5/commit/736862b4666c0e629be2c72aaef6b3f1c367b9c2
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 1d0267bd9c757462fabb013eea70e921bee96b10
https://github.com/Perl/perl5/commit/1d0267bd9c757462fabb013eea70e921bee96b10
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: a5677e45eb46e965aa5e45924dc399c24161f461
https://github.com/Perl/perl5/commit/a5677e45eb46e965aa5e45924dc399c24161f461
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7cef3751885b16c7417127663dace5cb94a0721e
https://github.com/Perl/perl5/commit/7cef3751885b16c7417127663dace5cb94a0721e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: b519d26a63e5d063ad42f31670dd1f4b4d2d4a48
https://github.com/Perl/perl5/commit/b519d26a63e5d063ad42f31670dd1f4b4d2d4a48
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M intrpvar.h
M perl.h
Log Message:
-----------
perl.h: Create a locale mnemonic #define for sync across files
Commit: da0e4737f2c247356794978ba73388e0f3393308
https://github.com/Perl/perl5/commit/da0e4737f2c247356794978ba73388e0f3393308
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M makedef.pl
M perl.h
Log Message:
-----------
XXX temporary: undef LC_ALL
Commit: b1d7d17084e688f9f0d4b4d837489a1e2b594116
https://github.com/Perl/perl5/commit/b1d7d17084e688f9f0d4b4d837489a1e2b594116
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Fake up win32 compile a bit
Commit: e8e0d7ef39a1a2e8120c1230766980763686ae79
https://github.com/Perl/perl5/commit/e8e0d7ef39a1a2e8120c1230766980763686ae79
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
ruler
Commit: 759ff5954d41713990098ad27d70d3c56e7bd2dd
https://github.com/Perl/perl5/commit/759ff5954d41713990098ad27d70d3c56e7bd2dd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: d92dee84a8fd811ed543a40041ebff164a244349
https://github.com/Perl/perl5/commit/d92dee84a8fd811ed543a40041ebff164a244349
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 9eb8ad39ff43eb1500951434857579be1d88388b
https://github.com/Perl/perl5/commit/9eb8ad39ff43eb1500951434857579be1d88388b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: a311efd3c8fd56b3f15106608a57c28dbd9226ee
https://github.com/Perl/perl5/commit/a311efd3c8fd56b3f15106608a57c28dbd9226ee
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 25eb705029819800086b003cbf2b24aad3be5d3a
https://github.com/Perl/perl5/commit/25eb705029819800086b003cbf2b24aad3be5d3a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
DEBUG_
Commit: 6fbdcf44a4e190cccbcf060b5b9c921181db881b
https://github.com/Perl/perl5/commit/6fbdcf44a4e190cccbcf060b5b9c921181db881b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 555112391defa2a34a33f91ed0f2189b7001a5d9
https://github.com/Perl/perl5/commit/555112391defa2a34a33f91ed0f2189b7001a5d9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: debug with thread id
Commit: 1de3e967214dc0e3238ee4d82ef976f5aafaa2bd
https://github.com/Perl/perl5/commit/1de3e967214dc0e3238ee4d82ef976f5aafaa2bd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M embed.fnc
M proto.h
M util.c
Log Message:
-----------
XXX memlog
Commit: 5ef85aba321442a3fb693289f3e2dbbc2b2c1824
https://github.com/Perl/perl5/commit/5ef85aba321442a3fb693289f3e2dbbc2b2c1824
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
XXX win workaround
Commit: bb2f7ea6ee5c7cef56c956dba9ec165c3da3626e
https://github.com/Perl/perl5/commit/bb2f7ea6ee5c7cef56c956dba9ec165c3da3626e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
just after XXX win workaround
Commit: 7ea0fe4ae59ccead0716b9aa5458873d2defdbb9
https://github.com/Perl/perl5/commit/7ea0fe4ae59ccead0716b9aa5458873d2defdbb9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M lib/locale_threads.t
M t/run/locale.t
Log Message:
-----------
locale_threads
Commit: d12d045e1e7f9bcdfb75d9dce1b74ba24c6a510f
https://github.com/Perl/perl5/commit/d12d045e1e7f9bcdfb75d9dce1b74ba24c6a510f
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
XXX locale_threads.t: Add alarm
Commit: 7ceb9900626e9b5ac92ef7c95abc77f4230b5d74
https://github.com/Perl/perl5/commit/7ceb9900626e9b5ac92ef7c95abc77f4230b5d74
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Debug locking
Commit: fe6b79d4021a45efaf22e66e0b0d598bf1b083bd
https://github.com/Perl/perl5/commit/fe6b79d4021a45efaf22e66e0b0d598bf1b083bd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
M t/run/switchDx.t
Log Message:
-----------
debug thread
Commit: 644b410324b4dbadb203e2ca015f0f3f9b525874
https://github.com/Perl/perl5/commit/644b410324b4dbadb203e2ca015f0f3f9b525874
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M dist/threads/threads.xs
M inline.h
Log Message:
-----------
threads.xs DEBUG_U
Commit: 2e24349029caf8f2bcd25bce35c6c548478dc281
https://github.com/Perl/perl5/commit/2e24349029caf8f2bcd25bce35c6c548478dc281
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: fe7d9d5bca4bc8e04d20de80f8abb7590109683b
https://github.com/Perl/perl5/commit/fe7d9d5bca4bc8e04d20de80f8abb7590109683b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/loc_tools.pl
Log Message:
-----------
loc_tools
Commit: d44b73379ba6ab86592b799d3d447b39e182889b
https://github.com/Perl/perl5/commit/d44b73379ba6ab86592b799d3d447b39e182889b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/loc_tools.pl
Log Message:
-----------
XXX t/loc_tools.pl: Temp debug
Commit: 1bc112f8aa2d0fa641421aa2fa67b1cee87da7de
https://github.com/Perl/perl5/commit/1bc112f8aa2d0fa641421aa2fa67b1cee87da7de
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: c287dab595dc88185f20a0abbca6f7cdd556722c
https://github.com/Perl/perl5/commit/c287dab595dc88185f20a0abbca6f7cdd556722c
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 023223e7423f3688d2109c9e85c80d985f502674
https://github.com/Perl/perl5/commit/023223e7423f3688d2109c9e85c80d985f502674
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: c8cb6a68dda7453b9433fdb129dbbab33783fb8d
https://github.com/Perl/perl5/commit/c8cb6a68dda7453b9433fdb129dbbab33783fb8d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 236f9544e795f486cf3c2e35b6585ffa60750f61
https://github.com/Perl/perl5/commit/236f9544e795f486cf3c2e35b6585ffa60750f61
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: White space, comments only
Commit: 4e3cd51c92fc6786a843fcf6f5409f2a0205e809
https://github.com/Perl/perl5/commit/4e3cd51c92fc6786a843fcf6f5409f2a0205e809
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h change lock debugging text
Commit: 95bfa869656ea7cb067eaffc4b8bf74b1b77569e
https://github.com/Perl/perl5/commit/95bfa869656ea7cb067eaffc4b8bf74b1b77569e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/harness
Log Message:
-----------
XXX t/harness temp tweaks
Commit: 907de964b87704a56ff8a9fe903c276ecb3d14cb
https://github.com/Perl/perl5/commit/907de964b87704a56ff8a9fe903c276ecb3d14cb
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M pod/perllocale.pod
Log Message:
-----------
perllocale Xxx start of changes
Commit: 9ed8889f9753b472bc0a83350824d4ffb66a3507
https://github.com/Perl/perl5/commit/9ed8889f9753b472bc0a83350824d4ffb66a3507
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
XXX ruler lib/locale_threads.t
Commit: 9dd97da1c2c43b9d98b4283903c27c461a8f5071
https://github.com/Perl/perl5/commit/9dd97da1c2c43b9d98b4283903c27c461a8f5071
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M hints/freebsd.sh
M hints/openbsd.sh
Log Message:
-----------
XXX try out bsd 2008
Commit: 74be251d9b2a774230a620b3a90de69fea1bd617
https://github.com/Perl/perl5/commit/74be251d9b2a774230a620b3a90de69fea1bd617
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: b2999fb8b8e55944311e0a346291c9f2807e5448
https://github.com/Perl/perl5/commit/b2999fb8b8e55944311e0a346291c9f2807e5448
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 10504d81bf76b26d2fcbf3326d214742b32e1da9
https://github.com/Perl/perl5/commit/10504d81bf76b26d2fcbf3326d214742b32e1da9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M lib/locale.t
Log Message:
-----------
XXX temp: lib/locale.t: debug
Commit: f875d7a50884974cf46a265664b4579566b4acf3
https://github.com/Perl/perl5/commit/f875d7a50884974cf46a265664b4579566b4acf3
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t FILE debug
Commit: 5ef274f579671823c66113a70ff5540bdbd641a3
https://github.com/Perl/perl5/commit/5ef274f579671823c66113a70ff5540bdbd641a3
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t
Commit: bbb1fcd3e0efc093909c4e0f8b787bea57198a75
https://github.com/Perl/perl5/commit/bbb1fcd3e0efc093909c4e0f8b787bea57198a75
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M pod/perlhacktips.pod
Log Message:
-----------
XXX incomplete perlhacktips:
Commit: 22204e7e42cdaf190f730a30ae5c51a71275fbb0
https://github.com/Perl/perl5/commit/22204e7e42cdaf190f730a30ae5c51a71275fbb0
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M handy.h
Log Message:
-----------
XXX cygwin debugging small macro buf
Commit: 9c665de7c0c2b9e92541a5231fd3778e1dc5d840
https://github.com/Perl/perl5/commit/9c665de7c0c2b9e92541a5231fd3778e1dc5d840
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M iperlsys.h
Log Message:
-----------
iperlsys.h: TODO need to look at adding mutexes
Commit: 47865b29c5fb128c048089a4d0eb51c3d3b5fd83
https://github.com/Perl/perl5/commit/47865b29c5fb128c048089a4d0eb51c3d3b5fd83
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M regen/reentr.pl
Log Message:
-----------
reentr.pl: XXX about needing mutex
Commit: 8848bac1f78b2f0931e14c6fdae72512a83f74c6
https://github.com/Perl/perl5/commit/8848bac1f78b2f0931e14c6fdae72512a83f74c6
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M regexec.c
Log Message:
-----------
regexec.c: XXX has cast to U8 for some reason
Commit: f2136df651e4afe43b3995e3e7df0c6d37ed1bb1
https://github.com/Perl/perl5/commit/f2136df651e4afe43b3995e3e7df0c6d37ed1bb1
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M sv.c
Log Message:
-----------
perlapi: Combine sv_eq(), sv_eq_flags() entries
Commit: e1aaaad784139300f508c868e25cd9596ab65095
https://github.com/Perl/perl5/commit/e1aaaad784139300f508c868e25cd9596ab65095
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M dist/ExtUtils-ParseXS/lib/perlxs.pod
M t/porting/known_pod_issues.dat
Log Message:
-----------
perlxs
Commit: b448962a75926c2e1a6b0ca1b6007e633d32e879
https://github.com/Perl/perl5/commit/b448962a75926c2e1a6b0ca1b6007e633d32e879
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 308e0af7da9f968f41b6680e08317925bcf4c570
https://github.com/Perl/perl5/commit/308e0af7da9f968f41b6680e08317925bcf4c570
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M pp.c
Log Message:
-----------
Debug Windows memory usage in pp_study
Commit: a38cf71267b6cb86827552a0c42a3283652d853d
https://github.com/Perl/perl5/commit/a38cf71267b6cb86827552a0c42a3283652d853d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M pod/perlmod.pod
Log Message:
-----------
perlmod
Commit: 1c59699c55d94f2eedee4e09a2532ed39e8f81f2
https://github.com/Perl/perl5/commit/1c59699c55d94f2eedee4e09a2532ed39e8f81f2
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
XXX perl.h: Debugging mutex lock'
Commit: d72406f92fb8ff50933d2739376d5ba714fa33aa
https://github.com/Perl/perl5/commit/d72406f92fb8ff50933d2739376d5ba714fa33aa
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 22acf153de047e6c722aaf651486e924f9c64215
https://github.com/Perl/perl5/commit/22acf153de047e6c722aaf651486e924f9c64215
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 62ae94ff447ec68c0b81a810e68c99f509311375
https://github.com/Perl/perl5/commit/62ae94ff447ec68c0b81a810e68c99f509311375
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: d23dff35ca5f818afc83a950c88a4870095dc236
https://github.com/Perl/perl5/commit/d23dff35ca5f818afc83a950c88a4870095dc236
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 0f0eac16ad1dc7d583314478f2819af97f21d34c
https://github.com/Perl/perl5/commit/0f0eac16ad1dc7d583314478f2819af97f21d34c
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 2277af7b2f5589028f861d08bce7a5b286db08ca
https://github.com/Perl/perl5/commit/2277af7b2f5589028f861d08bce7a5b286db08ca
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 648241fa89867e1d83f7c29482a79ccaf0a22286
https://github.com/Perl/perl5/commit/648241fa89867e1d83f7c29482a79ccaf0a22286
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 368939816cecd6d4c1988ed80ed8323ff3ced4d1
https://github.com/Perl/perl5/commit/368939816cecd6d4c1988ed80ed8323ff3ced4d1
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M embed.fnc
M proto.h
Log Message:
-----------
locale.c: Add warning if function return ignored
Commit: 9197b50d885af23cfa30d9ba8aa0b1264e6b8e23
https://github.com/Perl/perl5/commit/9197b50d885af23cfa30d9ba8aa0b1264e6b8e23
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 86c715ad017b1b13b4f784e24e4a1c4f641cf123
https://github.com/Perl/perl5/commit/86c715ad017b1b13b4f784e24e4a1c4f641cf123
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 0f2c951ddcb20135da23202a72b4b1e049215c5d
https://github.com/Perl/perl5/commit/0f2c951ddcb20135da23202a72b4b1e049215c5d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: c2893b6c9584e33534b4deda948841d15c91cc21
https://github.com/Perl/perl5/commit/c2893b6c9584e33534b4deda948841d15c91cc21
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 1cb5a54064eeef63db3d468d6a9d98826c8a6386
https://github.com/Perl/perl5/commit/1cb5a54064eeef63db3d468d6a9d98826c8a6386
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3b99d7fa1caa880fd18ed9319179a08820f595da
https://github.com/Perl/perl5/commit/3b99d7fa1caa880fd18ed9319179a08820f595da
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 8cebfb8862f8c7924ca87b1f917f2e2f078017b8
https://github.com/Perl/perl5/commit/8cebfb8862f8c7924ca87b1f917f2e2f078017b8
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 0be0f72502fbf3abc716ef45adcc56b6ae7531d4
https://github.com/Perl/perl5/commit/0be0f72502fbf3abc716ef45adcc56b6ae7531d4
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: f435754e65b0bf23b905bbe8cdb13c8880363b51
https://github.com/Perl/perl5/commit/f435754e65b0bf23b905bbe8cdb13c8880363b51
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 688f10f68045adfe252053f6f2b9877ff48e8205
https://github.com/Perl/perl5/commit/688f10f68045adfe252053f6f2b9877ff48e8205
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 4058d92e676020cd5feb52e1e0bea3ef267668bf
https://github.com/Perl/perl5/commit/4058d92e676020cd5feb52e1e0bea3ef267668bf
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 155465a82d7d921f33b9618430481e105c99f570
https://github.com/Perl/perl5/commit/155465a82d7d921f33b9618430481e105c99f570
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 29abf9ff33b52d7ff1479524701cd58a6acbd498
https://github.com/Perl/perl5/commit/29abf9ff33b52d7ff1479524701cd58a6acbd498
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: d26ae453890908bc2522974fb97fb9e023dc7be5
https://github.com/Perl/perl5/commit/d26ae453890908bc2522974fb97fb9e023dc7be5
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 516a8f41c46b50c45f14d8b92f77c49517544c55
https://github.com/Perl/perl5/commit/516a8f41c46b50c45f14d8b92f77c49517544c55
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: b3f5f5d888a1ff94102625d3fd9c99f3c8727ec4
https://github.com/Perl/perl5/commit/b3f5f5d888a1ff94102625d3fd9c99f3c8727ec4
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 67a1b2999f3216574a3fcd21e0eca4defe0372bc
https://github.com/Perl/perl5/commit/67a1b2999f3216574a3fcd21e0eca4defe0372bc
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 0b938c2dd9b3cef74e4882844fd4c1eca674ba8c
https://github.com/Perl/perl5/commit/0b938c2dd9b3cef74e4882844fd4c1eca674ba8c
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7c086b04f77f58d250b20f2ba1093be2423632f3
https://github.com/Perl/perl5/commit/7c086b04f77f58d250b20f2ba1093be2423632f3
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
S_toggle_locale_i: Move some assert()s, initialization
Commit: 3b61ecd77efdfcde655b5258918e937705861e29
https://github.com/Perl/perl5/commit/3b61ecd77efdfcde655b5258918e937705861e29
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: e5ba609451d7aee5b2bb8dfb40d9e549b74e4d53
https://github.com/Perl/perl5/commit/e5ba609451d7aee5b2bb8dfb40d9e549b74e4d53
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: b82ecf120dc7873a5324672632b7d971e1a040a2
https://github.com/Perl/perl5/commit/b82ecf120dc7873a5324672632b7d971e1a040a2
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: d2d70ccdbb00b12816daea92bc6b6a4f34cd7e8e
https://github.com/Perl/perl5/commit/d2d70ccdbb00b12816daea92bc6b6a4f34cd7e8e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: b8eb96fc8656edcd8cbb83b04e64b4997b48bb8c
https://github.com/Perl/perl5/commit/b8eb96fc8656edcd8cbb83b04e64b4997b48bb8c
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: b5dcf101644977189a6f2e643195b89e5fbeeab9
https://github.com/Perl/perl5/commit/b5dcf101644977189a6f2e643195b89e5fbeeab9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: e02f869b27850b2d4aca016cd49c522086d5c9e4
https://github.com/Perl/perl5/commit/e02f869b27850b2d4aca016cd49c522086d5c9e4
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 58381f04a092561812e5985f4d143e0e58a22074
https://github.com/Perl/perl5/commit/58381f04a092561812e5985f4d143e0e58a22074
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3ce515d8d05429ddd74c25cb7c327cdc7c5077d6
https://github.com/Perl/perl5/commit/3ce515d8d05429ddd74c25cb7c327cdc7c5077d6
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 39daa51015d60a7a0cc4c4be12a92f1a8d6f3941
https://github.com/Perl/perl5/commit/39daa51015d60a7a0cc4c4be12a92f1a8d6f3941
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: cde2e3af0934afa40322227d954056c937a022c7
https://github.com/Perl/perl5/commit/cde2e3af0934afa40322227d954056c937a022c7
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 44926947f671841d3b9bc8571072a470d582cfd1
https://github.com/Perl/perl5/commit/44926947f671841d3b9bc8571072a470d582cfd1
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 9d4629888d1592c5efeeb06de245aa677beef9cf
https://github.com/Perl/perl5/commit/9d4629888d1592c5efeeb06de245aa677beef9cf
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: f57681aa43ef3115e4384d932ed3730ab3722530
https://github.com/Perl/perl5/commit/f57681aa43ef3115e4384d932ed3730ab3722530
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 1205a6c840c1478962a0cb6354d965ce9a8e5cc4
https://github.com/Perl/perl5/commit/1205a6c840c1478962a0cb6354d965ce9a8e5cc4
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: bd1db8d1e8c9e8916b42fa2d8315ee132a0d5f39
https://github.com/Perl/perl5/commit/bd1db8d1e8c9e8916b42fa2d8315ee132a0d5f39
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 973569bd1353c596d0ccc636b88e742d7523fb55
https://github.com/Perl/perl5/commit/973569bd1353c596d0ccc636b88e742d7523fb55
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Move a #define, and add a comment
Commit: ca12927a711183de4647acd9cb39f8a0dd9f2da5
https://github.com/Perl/perl5/commit/ca12927a711183de4647acd9cb39f8a0dd9f2da5
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: b2aa2c4b8bc4f95ee085dc3660c683e2dbd1027d
https://github.com/Perl/perl5/commit/b2aa2c4b8bc4f95ee085dc3660c683e2dbd1027d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 60e5dbf817f3a387be138eb46b5f06f1f6baa2fa
https://github.com/Perl/perl5/commit/60e5dbf817f3a387be138eb46b5f06f1f6baa2fa
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Move two helper functions for POSIX 2008 implementation
Commit: 104fd557cf40e877de463e8fec1f8a234bf33c16
https://github.com/Perl/perl5/commit/104fd557cf40e877de463e8fec1f8a234bf33c16
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 2bcc958965fd1e131f9ebcc046439ebf4530935a
https://github.com/Perl/perl5/commit/2bcc958965fd1e131f9ebcc046439ebf4530935a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: a60dbbab58a83f6c8b5607517e82d0f96e93ea43
https://github.com/Perl/perl5/commit/a60dbbab58a83f6c8b5607517e82d0f96e93ea43
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 74ff662ce518ee32b168b279a438472cc15feed3
https://github.com/Perl/perl5/commit/74ff662ce518ee32b168b279a438472cc15feed3
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: a666d1e90ca632fe6b2e85891f48b59ca35a8356
https://github.com/Perl/perl5/commit/a666d1e90ca632fe6b2e85891f48b59ca35a8356
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
M perl.h
Log Message:
-----------
locale.c, perl.h: comments, white space
Commit: 84873c0718303da5f91b372cbe6dadf3e72c2b94
https://github.com/Perl/perl5/commit/84873c0718303da5f91b372cbe6dadf3e72c2b94
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: f76e89fed9a720aa202cef36404c47cb46ec6ca4
https://github.com/Perl/perl5/commit/f76e89fed9a720aa202cef36404c47cb46ec6ca4
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 90b0352f3e14344e48501f5df8e0ed9b0008385a
https://github.com/Perl/perl5/commit/90b0352f3e14344e48501f5df8e0ed9b0008385a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3b1198aab1d996e3779ff56597634ad752ddbe50
https://github.com/Perl/perl5/commit/3b1198aab1d996e3779ff56597634ad752ddbe50
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 8c7c7bb5fd88db549c6feadeaf3472171585d9dd
https://github.com/Perl/perl5/commit/8c7c7bb5fd88db549c6feadeaf3472171585d9dd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 1c68f08aa58c508eca52347a873ea7e12010f970
https://github.com/Perl/perl5/commit/1c68f08aa58c508eca52347a873ea7e12010f970
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: c434116e0049f42f096b7c0d762328b610b5c0db
https://github.com/Perl/perl5/commit/c434116e0049f42f096b7c0d762328b610b5c0db
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: e0cd04f53f566046f418f8f34792e9c9b2f432dd
https://github.com/Perl/perl5/commit/e0cd04f53f566046f418f8f34792e9c9b2f432dd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7e9dc0143f2b6306eeabe7968b64e0e0131a5015
https://github.com/Perl/perl5/commit/7e9dc0143f2b6306eeabe7968b64e0e0131a5015
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 55b95f20998e62f05d708fe9b13f7717787e42fc
https://github.com/Perl/perl5/commit/55b95f20998e62f05d708fe9b13f7717787e42fc
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 44484ecf09439a080ad45fb6e49eec599490d683
https://github.com/Perl/perl5/commit/44484ecf09439a080ad45fb6e49eec599490d683
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 344c7abfc9d87e91f79fe44b2329ebf0cb6f0a83
https://github.com/Perl/perl5/commit/344c7abfc9d87e91f79fe44b2329ebf0cb6f0a83
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Move a macro definition earlier in the file
Commit: 31b15d0c5d021d105268dd339f1e27268538a137
https://github.com/Perl/perl5/commit/31b15d0c5d021d105268dd339f1e27268538a137
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: eac0dcb80a8d3e0d0daf89f91f646999ab8515f8
https://github.com/Perl/perl5/commit/eac0dcb80a8d3e0d0daf89f91f646999ab8515f8
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Only define string constant on platforms that need it
Commit: c35761416ba7c31dfe241eab276e0746ee428a29
https://github.com/Perl/perl5/commit/c35761416ba7c31dfe241eab276e0746ee428a29
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 13546f076e638552c762aa4f30bdd29a3c9a9f6e
https://github.com/Perl/perl5/commit/13546f076e638552c762aa4f30bdd29a3c9a9f6e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3b10218e21f2cea59a2ec994462bae58e64802e9
https://github.com/Perl/perl5/commit/3b10218e21f2cea59a2ec994462bae58e64802e9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: c112581528116eb5cae254f2141fec4d73842354
https://github.com/Perl/perl5/commit/c112581528116eb5cae254f2141fec4d73842354
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 6e5baa20bb2c156de47e0205a5a4a3f71b446467
https://github.com/Perl/perl5/commit/6e5baa20bb2c156de47e0205a5a4a3f71b446467
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 59acb4d414632a07cb01a865cf652b6af1378a31
https://github.com/Perl/perl5/commit/59acb4d414632a07cb01a865cf652b6af1378a31
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: f934ce5960c3f35c951c7e8a84863410801d22b5
https://github.com/Perl/perl5/commit/f934ce5960c3f35c951c7e8a84863410801d22b5
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 05ad43d1ebd74f8a0fc67f60f4e1ad72b367d35e
https://github.com/Perl/perl5/commit/05ad43d1ebd74f8a0fc67f60f4e1ad72b367d35e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M utf8.h
Log Message:
-----------
silence utf8.h warning
Commit: f0d53ba27f077950ea9d82549e3f0f869ac78386
https://github.com/Perl/perl5/commit/f0d53ba27f077950ea9d82549e3f0f869ac78386
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: bdf9d2cfb15900258720fc009f47440623c42525
https://github.com/Perl/perl5/commit/bdf9d2cfb15900258720fc009f47440623c42525
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: cca9f027e04402c3be8c667be8f4eac4bf79de3f
https://github.com/Perl/perl5/commit/cca9f027e04402c3be8c667be8f4eac4bf79de3f
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Don't over allocate array
This previously added an extraneous unused element.
Commit: e04cfbcb8b6da9e47a325e9239ca1d40f3d5361e
https://github.com/Perl/perl5/commit/e04cfbcb8b6da9e47a325e9239ca1d40f3d5361e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 94932ba8e703a91ae5862552b4eaea7a0708cd2d
https://github.com/Perl/perl5/commit/94932ba8e703a91ae5862552b4eaea7a0708cd2d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 07611db458cf9b5b8acc0256360547d4144791a6
https://github.com/Perl/perl5/commit/07611db458cf9b5b8acc0256360547d4144791a6
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 054b3d1e3436fd8e922653d89f5e414cba08098b
https://github.com/Perl/perl5/commit/054b3d1e3436fd8e922653d89f5e414cba08098b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 4fc8d714e6bd6f4b3f6b7c83da7e3d15d7c8bccd
https://github.com/Perl/perl5/commit/4fc8d714e6bd6f4b3f6b7c83da7e3d15d7c8bccd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: ffeb2c1740ebe240045d21d7477ad707b7417c89
https://github.com/Perl/perl5/commit/ffeb2c1740ebe240045d21d7477ad707b7417c89
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
S_find_locale_from_environment(): Add comments
Commit: 4765c5f82747c678b6e1e6654265d99c92d931d9
https://github.com/Perl/perl5/commit/4765c5f82747c678b6e1e6654265d99c92d931d9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: ff97e66597367e417c61327dd3eb739d89b396bc
https://github.com/Perl/perl5/commit/ff97e66597367e417c61327dd3eb739d89b396bc
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 4d2f0222908dd9d38b1ed4308287d805c2146e32
https://github.com/Perl/perl5/commit/4d2f0222908dd9d38b1ed4308287d805c2146e32
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 5d36e336bad9c11cfac50b89f7ec1c354ca7af8f
https://github.com/Perl/perl5/commit/5d36e336bad9c11cfac50b89f7ec1c354ca7af8f
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
S_bool_setlocale_2008_i: Improve debug statements
Commit: 43b88e911d41db630aa5da220d34ab2e7eaa40be
https://github.com/Perl/perl5/commit/43b88e911d41db630aa5da220d34ab2e7eaa40be
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 14fbb982c69af6818c5c8c8015cd6d8cb1b8bf9b
https://github.com/Perl/perl5/commit/14fbb982c69af6818c5c8c8015cd6d8cb1b8bf9b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: a0503bbb9d86f63f528f1abe3cb7077a8d77e7d7
https://github.com/Perl/perl5/commit/a0503bbb9d86f63f528f1abe3cb7077a8d77e7d7
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Move declaration closer to first use
Commit: bf6e5740d6a415b4b02efde7c6cbdd43e552cf03
https://github.com/Perl/perl5/commit/bf6e5740d6a415b4b02efde7c6cbdd43e552cf03
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 11314733d90078495c2855e16d4b73c2576c9001
https://github.com/Perl/perl5/commit/11314733d90078495c2855e16d4b73c2576c9001
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 0d1f538312dd56a9ef0784fc6ff68cb2f7c7a204
https://github.com/Perl/perl5/commit/0d1f538312dd56a9ef0784fc6ff68cb2f7c7a204
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: d237a09084975ec93167e2d712d8a7e0265a324e
https://github.com/Perl/perl5/commit/d237a09084975ec93167e2d712d8a7e0265a324e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 59bf132e556cd9a9873776d8ef355276ebba0941
https://github.com/Perl/perl5/commit/59bf132e556cd9a9873776d8ef355276ebba0941
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7d4448e780af7dda87b3005b27a64cdde81167de
https://github.com/Perl/perl5/commit/7d4448e780af7dda87b3005b27a64cdde81167de
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: c0dfa65dcddaa7fba3d568be762388c8f3c90ba8
https://github.com/Perl/perl5/commit/c0dfa65dcddaa7fba3d568be762388c8f3c90ba8
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
M perl.h
Log Message:
-----------
locale.c: Update comments, white-space in 2 functions
Commit: 931d287d7dd65db0d006dc2467b291c038ea9408
https://github.com/Perl/perl5/commit/931d287d7dd65db0d006dc2467b291c038ea9408
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: a2be51e471ab17d7aa496f759d653092e4198813
https://github.com/Perl/perl5/commit/a2be51e471ab17d7aa496f759d653092e4198813
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 157ec2fa174c6d64303de5fa9e95754afc0738a8
https://github.com/Perl/perl5/commit/157ec2fa174c6d64303de5fa9e95754afc0738a8
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: cc0568c83731da88e56b41a94e696dacbfbf4871
https://github.com/Perl/perl5/commit/cc0568c83731da88e56b41a94e696dacbfbf4871
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 9a27fe0039589055502cc4763a1bf4b85dad414e
https://github.com/Perl/perl5/commit/9a27fe0039589055502cc4763a1bf4b85dad414e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 21a0fc13fcd617a602ace893dc2a49aaf241a4b8
https://github.com/Perl/perl5/commit/21a0fc13fcd617a602ace893dc2a49aaf241a4b8
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: ea2d977019cdf2f195cb8badf5ce443697c3eca4
https://github.com/Perl/perl5/commit/ea2d977019cdf2f195cb8badf5ce443697c3eca4
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: ddb92ca3e8055c1cce74f3919ec7b874725b6553
https://github.com/Perl/perl5/commit/ddb92ca3e8055c1cce74f3919ec7b874725b6553
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: c37a0422062723e838a4075fd1eda8651ceb7651
https://github.com/Perl/perl5/commit/c37a0422062723e838a4075fd1eda8651ceb7651
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Avoid a duplicate conditional
Commit: 41f3b52a08a9856c49fc9e595de82a9b99a8cc41
https://github.com/Perl/perl5/commit/41f3b52a08a9856c49fc9e595de82a9b99a8cc41
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Initialize PL_cur_locale_obj
Commit: c95d81d18e76d3a2f90775a18e377a45fd5f7d11
https://github.com/Perl/perl5/commit/c95d81d18e76d3a2f90775a18e377a45fd5f7d11
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: c4fde6187730864bf051e85962964a8d77d7602b
https://github.com/Perl/perl5/commit/c4fde6187730864bf051e85962964a8d77d7602b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: b6b0abfb7f11077a848ebe87c4f6ded3349b51bd
https://github.com/Perl/perl5/commit/b6b0abfb7f11077a848ebe87c4f6ded3349b51bd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: b5d442a2803b1f98d4c3d449d780868e42c6bdbc
https://github.com/Perl/perl5/commit/b5d442a2803b1f98d4c3d449d780868e42c6bdbc
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7d368e8408deb30f8554d1b987a6c1c18f3abf1c
https://github.com/Perl/perl5/commit/7d368e8408deb30f8554d1b987a6c1c18f3abf1c
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: bd79b9749410358aa11eef4bf267797ee0fefa33
https://github.com/Perl/perl5/commit/bd79b9749410358aa11eef4bf267797ee0fefa33
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 6ccf809235728ffdc1e71fbc13e4cc41551f5289
https://github.com/Perl/perl5/commit/6ccf809235728ffdc1e71fbc13e4cc41551f5289
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 56d9c0c08a68a3856627ca39f272088b89b55cbe
https://github.com/Perl/perl5/commit/56d9c0c08a68a3856627ca39f272088b89b55cbe
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3279cf807d82cb4ff93012547962ce94f3a6ec91
https://github.com/Perl/perl5/commit/3279cf807d82cb4ff93012547962ce94f3a6ec91
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Remove no longer used macro
Commit: bad0c12d955a4009316a1b6c13139af490604ca5
https://github.com/Perl/perl5/commit/bad0c12d955a4009316a1b6c13139af490604ca5
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 64445a5d68d09ba7d315197c942c6617c8653d7f
https://github.com/Perl/perl5/commit/64445a5d68d09ba7d315197c942c6617c8653d7f
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 32585bd7008fa5bff042795e2057a680f811028f
https://github.com/Perl/perl5/commit/32585bd7008fa5bff042795e2057a680f811028f
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
savepv if threaded, unused I think
Commit: 8d23d1de3002f3370d4a33781694f69af391c1fd
https://github.com/Perl/perl5/commit/8d23d1de3002f3370d4a33781694f69af391c1fd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Rmv unexecuted statement after croak
Commit: d40d41b008de7a3bb56ffe859fafee2af8ee4272
https://github.com/Perl/perl5/commit/d40d41b008de7a3bb56ffe859fafee2af8ee4272
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 89b066fe866d7fb76c23c7a9592573f0a9b24eb9
https://github.com/Perl/perl5/commit/89b066fe866d7fb76c23c7a9592573f0a9b24eb9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
XXX introductory file comments
Commit: 54f66204988c7b371739c892ad46a31ec176297d
https://github.com/Perl/perl5/commit/54f66204988c7b371739c892ad46a31ec176297d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: cfa018c5e05f57b8e20bbc063c2bf0872be5e21b
https://github.com/Perl/perl5/commit/cfa018c5e05f57b8e20bbc063c2bf0872be5e21b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3fec9828cbe1620a5711b522e02183a63dbe9693
https://github.com/Perl/perl5/commit/3fec9828cbe1620a5711b522e02183a63dbe9693
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 647b27fc28458430ecac9b55817ad1fd5c5f045e
https://github.com/Perl/perl5/commit/647b27fc28458430ecac9b55817ad1fd5c5f045e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 411c4dd84cd70f825f5d3ca3f4b36e6d4fded746
https://github.com/Perl/perl5/commit/411c4dd84cd70f825f5d3ca3f4b36e6d4fded746
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 1433bc717c786a59414eac6b0db644a384ccd847
https://github.com/Perl/perl5/commit/1433bc717c786a59414eac6b0db644a384ccd847
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 319ba4b582214a58c2b3438e1846813bd7ae4f4b
https://github.com/Perl/perl5/commit/319ba4b582214a58c2b3438e1846813bd7ae4f4b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
perlapi: Improve wording for Perl_langinfo()
Commit: 7f006716e88431d6724fd2725df031f534181aec
https://github.com/Perl/perl5/commit/7f006716e88431d6724fd2725df031f534181aec
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 85c93be8b881209bbdaa7c3b2fa432f177892a97
https://github.com/Perl/perl5/commit/85c93be8b881209bbdaa7c3b2fa432f177892a97
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7781943c5f43494a6bf679d8af3144764c653c69
https://github.com/Perl/perl5/commit/7781943c5f43494a6bf679d8af3144764c653c69
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
S_stdize_locale: Set errno if fails
Commit: 2f2fe80bcca7d789f6efa0a2f30c4129c84aee44
https://github.com/Perl/perl5/commit/2f2fe80bcca7d789f6efa0a2f30c4129c84aee44
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 85e0e9eaedf1883f4c8989e5a68834f76ef3d0be
https://github.com/Perl/perl5/commit/85e0e9eaedf1883f4c8989e5a68834f76ef3d0be
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/porting/bincompat.t
Log Message:
-----------
skip bincompat.t
Commit: 1f39ea7440e092e73cd75ff56b4542b15f6bd13b
https://github.com/Perl/perl5/commit/1f39ea7440e092e73cd75ff56b4542b15f6bd13b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M hints/darwin.sh
Log Message:
-----------
darwin hints querylocale race in earlier darwins?
Commit: 2a7442478592fb41f48ef231d81be08a13100403
https://github.com/Perl/perl5/commit/2a7442478592fb41f48ef231d81be08a13100403
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M intrpvar.h
Log Message:
-----------
intrpvar.h: Comments
Commit: 7c0e0948ce3abbc7a36d5a9be2b82ed249a66f33
https://github.com/Perl/perl5/commit/7c0e0948ce3abbc7a36d5a9be2b82ed249a66f33
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3f9f4e7127a7fa42e01d4d51ada2619122d7ebf5
https://github.com/Perl/perl5/commit/3f9f4e7127a7fa42e01d4d51ada2619122d7ebf5
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3cbadafa5498fcb150ec70e15c489f159fec00ba
https://github.com/Perl/perl5/commit/3cbadafa5498fcb150ec70e15c489f159fec00ba
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: aaf170741e795efac177a7e48792b4a368d714a0
https://github.com/Perl/perl5/commit/aaf170741e795efac177a7e48792b4a368d714a0
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: f184a9415b78b64a8e46e5382c04c4f7835c3f98
https://github.com/Perl/perl5/commit/f184a9415b78b64a8e46e5382c04c4f7835c3f98
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: f7dfa70bfa3ab2d076a3b1f6f1a318d543fb49e1
https://github.com/Perl/perl5/commit/f7dfa70bfa3ab2d076a3b1f6f1a318d543fb49e1
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M Configure
M locale.c
M metaconfig.h
M perl.h
Log Message:
-----------
f Configure
Commit: 4a1ec880d2463b3d395cb2fa12de757e5c7be382
https://github.com/Perl/perl5/commit/4a1ec880d2463b3d395cb2fa12de757e5c7be382
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: ea7f965920f9fc78e95a8a0ce06248ba0bcc89e7
https://github.com/Perl/perl5/commit/ea7f965920f9fc78e95a8a0ce06248ba0bcc89e7
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
drop when Configure fixed
Commit: 2687d6964ceec060b4db4a0f6dca0042a73ce201
https://github.com/Perl/perl5/commit/2687d6964ceec060b4db4a0f6dca0042a73ce201
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
makedef.pl: PL_cur_locale_obj is only POSIX 2008 multiplicity
Commit: 4118b6775ad6da559cbe82e2f42fc93324a1ec3b
https://github.com/Perl/perl5/commit/4118b6775ad6da559cbe82e2f42fc93324a1ec3b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
makedef.pl: Move comment
Commit: 1ae7500a99bf1b5098487115b35a515f8529e41a
https://github.com/Perl/perl5/commit/1ae7500a99bf1b5098487115b35a515f8529e41a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
Maybe drop: makedef.pl: Move code
Commit: 36f25a0a4a7f560fd19b9d4602c7530c22ea1e07
https://github.com/Perl/perl5/commit/36f25a0a4a7f560fd19b9d4602c7530c22ea1e07
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M makedef.pl
Log Message:
-----------
makedef.pl: Remove obsolete symbol
Commit: e033cf5175ce3a58374fad57a0c085a8b8a52ed8
https://github.com/Perl/perl5/commit/e033cf5175ce3a58374fad57a0c085a8b8a52ed8
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
Add DEBUG_SETLOCALE_INCONSISTENCIES
Commit: eaec05d79036ae7a794ae0d852bfea438fbff31a
https://github.com/Perl/perl5/commit/eaec05d79036ae7a794ae0d852bfea438fbff31a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7d227bd07871f9b49c430f5f0be74fd988d4eeaf
https://github.com/Perl/perl5/commit/7d227bd07871f9b49c430f5f0be74fd988d4eeaf
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
Enable DEBUG_SETLOCALE_INCONSISTENCIES
Commit: a716adc016a63354fc59965e0f51c65ffba0ab30
https://github.com/Perl/perl5/commit/a716adc016a63354fc59965e0f51c65ffba0ab30
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Add detail to locale mutex debug
Commit: 106cabce128a404fd81e3ddc1ca31d8f6d9fba1b
https://github.com/Perl/perl5/commit/106cabce128a404fd81e3ddc1ca31d8f6d9fba1b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
M perl.h
M t/porting/customized.dat
Log Message:
-----------
XXX remaining loose ends
Commit: 2cfc795fd1d6b74eb719e87f2baaa51108c01519
https://github.com/Perl/perl5/commit/2cfc795fd1d6b74eb719e87f2baaa51108c01519
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M cpan/version/t/07locale.t
M pod/perlembed.pod
M t/porting/customized.dat
Log Message:
-----------
final commit
Commit: 53f12d4cb8f7945cdab1f89b0302143d596425ab
https://github.com/Perl/perl5/commit/53f12d4cb8f7945cdab1f89b0302143d596425ab
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
use enum, maybe drop
Commit: 841131bf9335f36dff7da46dc6fbaf24f566d03d
https://github.com/Perl/perl5/commit/841131bf9335f36dff7da46dc6fbaf24f566d03d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
Revert "prev commit"
This reverts commit 4be10ec67fb8fef94cb573a8f7b51cb23610517f.
Commit: 5024a150c1f3951c80cc325da24acb79c06366cb
https://github.com/Perl/perl5/commit/5024a150c1f3951c80cc325da24acb79c06366cb
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M embed.fnc
M locale.c
M proto.h
Log Message:
-----------
more cat index enum
Commit: 007ac952c1b8ded635094d49d0b0ed237ae879d9
https://github.com/Perl/perl5/commit/007ac952c1b8ded635094d49d0b0ed237ae879d9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: cce41a939650e7ccebdd45e362fd74a1fed25610
https://github.com/Perl/perl5/commit/cce41a939650e7ccebdd45e362fd74a1fed25610
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
f
Commit: 0b3afcac5135f2d6d70f04aeb967360c99e98877
https://github.com/Perl/perl5/commit/0b3afcac5135f2d6d70f04aeb967360c99e98877
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h fixup
Commit: 00d905aff2b1b7b30bec6dc3447b307955600ec2
https://github.com/Perl/perl5/commit/00d905aff2b1b7b30bec6dc3447b307955600ec2
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M Configure
Log Message:
-----------
f Configure for positional
Commit: 06cafe79f6f27a98c767e4c03d158fb42be326c2
https://github.com/Perl/perl5/commit/06cafe79f6f27a98c767e4c03d158fb42be326c2
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
fixup init for C C C C C
Commit: 853643c1b86f1fcb0bcffc0efc3940ea4c40777e
https://github.com/Perl/perl5/commit/853643c1b86f1fcb0bcffc0efc3940ea4c40777e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
perlapi: Fix strftime inaccuracies, clarify
Commit: 34013c6ba8a019d1b53ef1cf2cb39d582d43b02c
https://github.com/Perl/perl5/commit/34013c6ba8a019d1b53ef1cf2cb39d582d43b02c
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: dc28653c910eec96e7b5c2a5d16f25bf7f55518e
https://github.com/Perl/perl5/commit/dc28653c910eec96e7b5c2a5d16f25bf7f55518e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
add is_cur_locale_utf8
Commit: 6895ade0fe782df89e98f44f09200093644bf0cd
https://github.com/Perl/perl5/commit/6895ade0fe782df89e98f44f09200093644bf0cd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: ed916247a91811ddec5b1de61239bfd7411f3227
https://github.com/Perl/perl5/commit/ed916247a91811ddec5b1de61239bfd7411f3227
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 0c60d612cb052a23ecb3c0799cff0e71ca2a9bcb
https://github.com/Perl/perl5/commit/0c60d612cb052a23ecb3c0799cff0e71ca2a9bcb
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7e394ef097cef6a3230059976dd4cebdca7c684e
https://github.com/Perl/perl5/commit/7e394ef097cef6a3230059976dd4cebdca7c684e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7487e34c495b62837288ff77fab185bcdb6b01e0
https://github.com/Perl/perl5/commit/7487e34c495b62837288ff77fab185bcdb6b01e0
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 4e5d7ab19f420349928436e08d67b9bb01b767dd
https://github.com/Perl/perl5/commit/4e5d7ab19f420349928436e08d67b9bb01b767dd
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 2d6fb4d34fbdf7225512556ec49883274b0bc750
https://github.com/Perl/perl5/commit/2d6fb4d34fbdf7225512556ec49883274b0bc750
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: f93d81fc91fe1e3cbea0cdfca39b81a306f010ad
https://github.com/Perl/perl5/commit/f93d81fc91fe1e3cbea0cdfca39b81a306f010ad
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 509283957c894d958d75cccfcae6776614c60a09
https://github.com/Perl/perl5/commit/509283957c894d958d75cccfcae6776614c60a09
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 10555128c5f6a1ed0d68c4a736863b7c04375e6d
https://github.com/Perl/perl5/commit/10555128c5f6a1ed0d68c4a736863b7c04375e6d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Remove extraneous ';'
Commit: 924a0328c21007ffa6ac2b9fa27b387b17d61a41
https://github.com/Perl/perl5/commit/924a0328c21007ffa6ac2b9fa27b387b17d61a41
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 2eb01bc361f0c477d55f3866088b8d8836b5149c
https://github.com/Perl/perl5/commit/2eb01bc361f0c477d55f3866088b8d8836b5149c
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M thread.h
Log Message:
-----------
thread.h: White space only
Indent some nested preproccessor defines
Commit: f716467866968b33516a97529bc39ace94bcee9a
https://github.com/Perl/perl5/commit/f716467866968b33516a97529bc39ace94bcee9a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M ext/POSIX/t/time.t
Log Message:
-----------
time.t
Commit: 03760343fbe3324b91dec6ac69e03d0a1a3618ea
https://github.com/Perl/perl5/commit/03760343fbe3324b91dec6ac69e03d0a1a3618ea
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 05e1c7b247beebeac289b8b032e92543e0d6b718
https://github.com/Perl/perl5/commit/05e1c7b247beebeac289b8b032e92543e0d6b718
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: f809d1c644a54162d701655dd6ba7472a304aa0f
https://github.com/Perl/perl5/commit/f809d1c644a54162d701655dd6ba7472a304aa0f
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 1962991f544d0766d9605176bbf865862caf37c8
https://github.com/Perl/perl5/commit/1962991f544d0766d9605176bbf865862caf37c8
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 51047cf422ed96c6c83a632e3b8899e33b928d75
https://github.com/Perl/perl5/commit/51047cf422ed96c6c83a632e3b8899e33b928d75
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 2ac76b7de819f0a43577a937d91614890716861d
https://github.com/Perl/perl5/commit/2ac76b7de819f0a43577a937d91614890716861d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 347746aceb25b0b4f6e18270ff1ba2925a47794d
https://github.com/Perl/perl5/commit/347746aceb25b0b4f6e18270ff1ba2925a47794d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 64ff340679830aa77c350de8c6fdf9463dd35f31
https://github.com/Perl/perl5/commit/64ff340679830aa77c350de8c6fdf9463dd35f31
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: ad0ff7e9b638854ce468e6f05df835a14e4b481d
https://github.com/Perl/perl5/commit/ad0ff7e9b638854ce468e6f05df835a14e4b481d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 9f2d710faf3df2d2014920756fb7e7e2d0d46b4d
https://github.com/Perl/perl5/commit/9f2d710faf3df2d2014920756fb7e7e2d0d46b4d
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time-Piece: notes to myself
Commit: f9cdf1e984fb54c0f12276a917b6493c56ede4d1
https://github.com/Perl/perl5/commit/f9cdf1e984fb54c0f12276a917b6493c56ede4d1
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
dregs
Commit: cbf38071bcde7e4426530f32c03efc05f17f2c52
https://github.com/Perl/perl5/commit/cbf38071bcde7e4426530f32c03efc05f17f2c52
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 4338fc8de154dc461d6df5ff4a5a828ca4f16d5f
https://github.com/Perl/perl5/commit/4338fc8de154dc461d6df5ff4a5a828ca4f16d5f
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M util.c
Log Message:
-----------
util.c: Better panic messages
Commit: 2a5e0c3674fa0d3c48c0207ae7f0fb5bd740481a
https://github.com/Perl/perl5/commit/2a5e0c3674fa0d3c48c0207ae7f0fb5bd740481a
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M win32/Makefile
Log Message:
-----------
win32 Makefile
Commit: e06037ece334ee2c342da6fe7c45a10b607dedfa
https://github.com/Perl/perl5/commit/e06037ece334ee2c342da6fe7c45a10b607dedfa
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 84fecc20a733d67ecdca5ed2d523d0929abccc18
https://github.com/Perl/perl5/commit/84fecc20a733d67ecdca5ed2d523d0929abccc18
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 3172987a5e0eb1712838c588519772bd382f8911
https://github.com/Perl/perl5/commit/3172987a5e0eb1712838c588519772bd382f8911
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 96321b34b79398c0c4a5818b463d8372d46d7ed2
https://github.com/Perl/perl5/commit/96321b34b79398c0c4a5818b463d8372d46d7ed2
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: a3c0e6223ab1bb0d4ae3775c57ebc37902c6d76b
https://github.com/Perl/perl5/commit/a3c0e6223ab1bb0d4ae3775c57ebc37902c6d76b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: e0db7a1ee05ec414d902bbf76defdea3cd71d937
https://github.com/Perl/perl5/commit/e0db7a1ee05ec414d902bbf76defdea3cd71d937
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/re/pat.t
Log Message:
-----------
re/pat.t: Fix typo in comment
Commit: 4b14759ac3d34681d7dcedfa3c6c06b972b94497
https://github.com/Perl/perl5/commit/4b14759ac3d34681d7dcedfa3c6c06b972b94497
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M t/run/locale.t
Log Message:
-----------
fdregs
Commit: 5e2b5fbbbdec9f1c5e6970ae5d5df971dde4007e
https://github.com/Perl/perl5/commit/5e2b5fbbbdec9f1c5e6970ae5d5df971dde4007e
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 5d33833548df9a73ad96c56ddc7559f6f346c5cc
https://github.com/Perl/perl5/commit/5d33833548df9a73ad96c56ddc7559f6f346c5cc
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 0d34ff238947ed38644a97be6d2575d854cae85f
https://github.com/Perl/perl5/commit/0d34ff238947ed38644a97be6d2575d854cae85f
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: be025fac13ae684c91ba55596005571325e5dd3b
https://github.com/Perl/perl5/commit/be025fac13ae684c91ba55596005571325e5dd3b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M inline.h
Log Message:
-----------
Revert #if 0 in inline.h
I don't remember why this was done
Commit: 73f02743e9e2514c6525ce37ab99090e4616b328
https://github.com/Perl/perl5/commit/73f02743e9e2514c6525ce37ab99090e4616b328
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 7080fb4eda4d2ec290271a2a9d87b6ff26c973b9
https://github.com/Perl/perl5/commit/7080fb4eda4d2ec290271a2a9d87b6ff26c973b9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: 88c2686f1dd1ee60a136decbf36e9b544fe26512
https://github.com/Perl/perl5/commit/88c2686f1dd1ee60a136decbf36e9b544fe26512
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 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: ebfd32ba3a85324e6d84ea774ca6953081d318ee
https://github.com/Perl/perl5/commit/ebfd32ba3a85324e6d84ea774ca6953081d318ee
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M util.c
M win32/perlhost.h
Log Message:
-----------
XXX Win32 mem log
Commit: f4a7287e926d8a7a72827ae67e37fa4eff8770a0
https://github.com/Perl/perl5/commit/f4a7287e926d8a7a72827ae67e37fa4eff8770a0
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M util.c
Log Message:
-----------
XXX util add thread to mem_log
Commit: 8812e3a35f77636f875a24518e6f082caf0838b9
https://github.com/Perl/perl5/commit/8812e3a35f77636f875a24518e6f082caf0838b9
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
XXX mv: initialize PL_cur_LC_ALL
Commit: 993cf031467ef9b0f0c85bf2bd9e144a95102c5b
https://github.com/Perl/perl5/commit/993cf031467ef9b0f0c85bf2bd9e144a95102c5b
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
Debug wrap wset
Commit: 7ecf7081054bbe29adaca7bfa3e8f0ba1a457eb7
https://github.com/Perl/perl5/commit/7ecf7081054bbe29adaca7bfa3e8f0ba1a457eb7
Author: Karl Williamson <[email protected]>
Date: 2023-06-03 (Sat, 03 Jun 2023)
Changed paths:
M locale.c
Log Message:
-----------
more dregs
Commit: 9e769e5709e7bcf34319243390f60b0f5acc9ba7
https://github.com/Perl/perl5/commit/9e769e5709e7bcf34319243390f60b0f5acc9ba7
Author: Karl Williamson <[email protected]>
Date: 2023-06-09 (Fri, 09 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/eddaa3f8f7f2...9e769e5709e7