Branch: refs/heads/smoke-me/khw-env
Home: https://github.com/Perl/perl5
Commit: b701d55137f82c0250c4dec3301fe4503ddfdaa0
https://github.com/Perl/perl5/commit/b701d55137f82c0250c4dec3301fe4503ddfdaa0
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t:
Fixes #21697.
On some platforms, a locale name is specified in the code page (or
code set) that applies to it, rather than plain ASCII. Windows, and
hence MingW, is the prime example.
The locale name for a particular Turkish variety found in MingW is
"Turkish_T?????.1254" where the question marks represent different
characters that have meaning in the 1254 code page, but would look like
mojibake if I had reproduced their actual values here.
When doing a setlocale() here, if the current code page is incompatible
with the new one, it will fail; if compatible it will succeed.
On my box running MingW, locales are tried out by this test file in
alphabetical order, and the one before this Turkish happens to be Thai,
with a code page of 874. Apparently 1254 is not compatible with 874, so
switching directly from Thai to Turkish fails.
The solution is to switch into a neutral code page before switching into
one being trialed. "C" works in this case, and I suspect in all others.
Commit: 2af725ed2430646ce8d0e16bddca0c4234911d39
https://github.com/Perl/perl5/commit/2af725ed2430646ce8d0e16bddca0c4234911d39
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M charclass_invlists.h
M lib/unicore/Makefile
M lib/unicore/mktables
M lib/unicore/uni_keywords.pl
M regcharclass.h
M uni_keywords.h
Log Message:
-----------
mktables more verbose
Commit: 39bcbd1cc13869689653e2392226fd7cb042f5d4
https://github.com/Perl/perl5/commit/39bcbd1cc13869689653e2392226fd7cb042f5d4
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm
Log Message:
-----------
BlackBox dont use rare scripts
Commit: f2d687eb370041802b59dd036a1b25151cdedbf7
https://github.com/Perl/perl5/commit/f2d687eb370041802b59dd036a1b25151cdedbf7
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/harness
Log Message:
-----------
XXX t/harness temp tweaks
Commit: 015705ca2c13b39433b3d6b838b3b13562924649
https://github.com/Perl/perl5/commit/015705ca2c13b39433b3d6b838b3b13562924649
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/harness
Log Message:
-----------
XXX skip croak.t under sanitizer
Commit: a7ae3b357a2d7cce6138abc804b7b4fe9a48a02f
https://github.com/Perl/perl5/commit/a7ae3b357a2d7cce6138abc804b7b4fe9a48a02f
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/porting/bincompat.t
Log Message:
-----------
skip bincompat.t
Commit: 7056dcfb44c0aa03c005b9e484f6e9deb1bde916
https://github.com/Perl/perl5/commit/7056dcfb44c0aa03c005b9e484f6e9deb1bde916
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/TEST
Log Message:
-----------
Skip cpan testing message
Commit: 3ba1bca597d349aef5a5f8bdc44cac41196fed43
https://github.com/Perl/perl5/commit/3ba1bca597d349aef5a5f8bdc44cac41196fed43
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/TEST
Log Message:
-----------
Also skip non-thread dist testing
Commit: 7217d8160be3b35c987907c8f036ea2d06ba64d8
https://github.com/Perl/perl5/commit/7217d8160be3b35c987907c8f036ea2d06ba64d8
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/Archive-Tar/t/02_methods.t
Log Message:
-----------
XXX skip Archive-Tar because of symlinks
Commit: e1fcf31ffb02f93551a6d42a72e875b46ac8eb89
https://github.com/Perl/perl5/commit/e1fcf31ffb02f93551a6d42a72e875b46ac8eb89
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/porting/cmp_version.t
Log Message:
-----------
XXX skip cmp_version.t because of sym links
Commit: 1dabce2075fbf3aae6dfc87c0f3cc4bb4bb646d5
https://github.com/Perl/perl5/commit/1dabce2075fbf3aae6dfc87c0f3cc4bb4bb646d5
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/Sys-Syslog/t/syslog-inet-udp.t
M cpan/Sys-Syslog/t/syslog.t
Log Message:
-----------
XXX skip syslog tests because fail without LC_TIME
Commit: c26c7389b41bb6546bf07f5c7f779cf517c296e1
https://github.com/Perl/perl5/commit/c26c7389b41bb6546bf07f5c7f779cf517c296e1
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M dist/Tie-File/t/29a_upcopy.t
Log Message:
-----------
up timeout for dist/Tie-File/t/29a_upcopy.t
Commit: aa3aa165b5d64716701221747b9aee261423cc29
https://github.com/Perl/perl5/commit/aa3aa165b5d64716701221747b9aee261423cc29
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M MANIFEST
A t/uni/idstart.pl
A t/uni/idstart00.t
A t/uni/idstart01.t
A t/uni/idstart02.t
A t/uni/idstart03.t
A t/uni/idstart04.t
A t/uni/idstart05.t
A t/uni/idstart06.t
A t/uni/idstart07.t
A t/uni/idstart08.t
A t/uni/idstart09.t
A t/uni/idstart10.t
A t/uni/idstart11.t
A t/uni/idstart12.t
A t/uni/idstart13.t
A t/uni/idstart14.t
A t/uni/idstart15.t
A t/uni/idstart16.t
A t/uni/idstart17.t
A t/uni/idstart18.t
A t/uni/idstart19.t
A t/uni/idstart20.t
A t/uni/idstart21.t
A t/uni/idstart22.t
A t/uni/idstart23.t
M t/uni/variables.t
Log Message:
-----------
Split t/uni/variables.t into multiple tests
These can be done in parallel; otherwise this is often the test that
finishes last, holding up the test suite completion.
Commit: d20bf58768964370b37b4923abde3a7680ebb29f
https://github.com/Perl/perl5/commit/d20bf58768964370b37b4923abde3a7680ebb29f
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
run/locale.t: more debug
Commit: 18f3d6a8a82b5b5a13dbc100cc8cce79922856c1
https://github.com/Perl/perl5/commit/18f3d6a8a82b5b5a13dbc100cc8cce79922856c1
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M MANIFEST
M charclass_invlists.h
M lib/unicore/mktables
M lib/unicore/uni_keywords.pl
M regcharclass.h
A t/re/uniprops11.t
A t/re/uniprops12.t
A t/re/uniprops13.t
A t/re/uniprops14.t
A t/re/uniprops15.t
A t/re/uniprops16.t
A t/re/uniprops17.t
A t/re/uniprops18.t
A t/re/uniprops19.t
A t/re/uniprops20.t
A t/re/uniprops21.t
A t/re/uniprops22.t
A t/re/uniprops23.t
A t/re/uniprops24.t
M uni_keywords.h
Log Message:
-----------
Make 24 uniprops.t tests
Commit: 93dbc01fe52f2948538fab463b93e16167dd45d3
https://github.com/Perl/perl5/commit/93dbc01fe52f2948538fab463b93e16167dd45d3
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
XXX temp to test broken lconv on non-Windows
Commit: 32fcd5af61e23e66c88db05b0e0e4f4d3f1752fd
https://github.com/Perl/perl5/commit/32fcd5af61e23e66c88db05b0e0e4f4d3f1752fd
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
XXX run/locale.t: maybe f move test
Commit: 5edf71a912fa68c3d30d67b70b68ea1fbca7a51b
https://github.com/Perl/perl5/commit/5edf71a912fa68c3d30d67b70b68ea1fbca7a51b
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/version/t/07locale.t
M t/porting/customized.dat
Log Message:
-----------
version::07locale.t: Use I18N::Langinfo, not POSIX::localeconv()
The former is always present; the latter might not be.
Commit: c3a98965f1091f9ac137d0d3d720c0564973bb2f
https://github.com/Perl/perl5/commit/c3a98965f1091f9ac137d0d3d720c0564973bb2f
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/porting/cmp_version.t
Log Message:
-----------
XXX skip cmp_version.t prob. due to 5.38 tag issue
Commit: eea712009554698afc46ea2d7d92e61b6f1f4e46
https://github.com/Perl/perl5/commit/eea712009554698afc46ea2d7d92e61b6f1f4e46
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/version/t/07locale.t
M t/porting/customized.dat
Log Message:
-----------
version 07locale.t should use LC_NUMERIC, not ALL
These outliers don't belong. This file is working on LC_NUMERIC only.
Commit: 91390f7f7f143aa3f677f9c3de769fa6a09ab762
https://github.com/Perl/perl5/commit/91390f7f7f143aa3f677f9c3de769fa6a09ab762
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M makedef.pl
M perl.h
Log Message:
-----------
XXX temporary: Allow undef LC_ALL
Commit: 72f9bb8e2c3e9c789b6b9c14b48a3421725dcaed
https://github.com/Perl/perl5/commit/72f9bb8e2c3e9c789b6b9c14b48a3421725dcaed
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Fake up win32 compile a bit
Commit: 7c3e06d21f2444539792efda63e35d2c863a16ee
https://github.com/Perl/perl5/commit/7c3e06d21f2444539792efda63e35d2c863a16ee
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M sv.c
Log Message:
-----------
newSVbool(): Fix compiler warning
The parameter was declared const in embed.fnc, but not in the function
prototype
Commit: 98c09b29e132836e2b4b8f6af5950a1fc6c03531
https://github.com/Perl/perl5/commit/98c09b29e132836e2b4b8f6af5950a1fc6c03531
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M proto.h
Log Message:
-----------
regnode_after(): Fix compiler warning
A parameter to this function was declared const in its prototype but not
in embed.fnc.
Commit: 24badae6fc0de436163a1986d6dd2288bd0d631d
https://github.com/Perl/perl5/commit/24badae6fc0de436163a1986d6dd2288bd0d631d
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M proto.h
M utf8.c
Log Message:
-----------
uvoffuni_to_utf8_flags_msgs(): Fix compiler warning
A parameter to this function was declared const in embed.fnc, but isn't
const.
This commit also adds a const to another parameter that is constant.
Commit: 4277c4a7898f826dff49b7c158a486766a8822e6
https://github.com/Perl/perl5/commit/4277c4a7898f826dff49b7c158a486766a8822e6
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M proto.h
Log Message:
-----------
S_clear_placeholders(): Fix compiler warning
A parameter to this function was declared const in its prototype but not
in embed.fnc, and had a different name
Commit: 5011a8f466edae530d3c9890a08a4629b727b3a8
https://github.com/Perl/perl5/commit/5011a8f466edae530d3c9890a08a4629b727b3a8
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M proto.h
M util.c
Log Message:
-----------
XXX memlog
Commit: 4939346dd1e231300564ea0b134216d2c53d765b
https://github.com/Perl/perl5/commit/4939346dd1e231300564ea0b134216d2c53d765b
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M perl.h
M t/run/switchDx.t
Log Message:
-----------
debug thread
Commit: ff0f2d8664b021e1a0c2a81883e02491dbedbbc6
https://github.com/Perl/perl5/commit/ff0f2d8664b021e1a0c2a81883e02491dbedbbc6
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M dist/threads/threads.xs
Log Message:
-----------
threads.xs DEBUG_U
Commit: 38ce44bbbc5d0ff2044d95736b74d3a0ef6ec7fb
https://github.com/Perl/perl5/commit/38ce44bbbc5d0ff2044d95736b74d3a0ef6ec7fb
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale.t
Log Message:
-----------
XXX temp: lib/locale.t: debug
Commit: 7d95b8c3a2eeecc10cdd6fa09fa3535beb0e47e9
https://github.com/Perl/perl5/commit/7d95b8c3a2eeecc10cdd6fa09fa3535beb0e47e9
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t FILE debug
Commit: 94bd76f4bd6226ae621d4bafe7b0909a0dd91183
https://github.com/Perl/perl5/commit/94bd76f4bd6226ae621d4bafe7b0909a0dd91183
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t
Commit: 734921a6a447c0ee7918531279d40d8ea8b6520f
https://github.com/Perl/perl5/commit/734921a6a447c0ee7918531279d40d8ea8b6520f
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
XXX perl.h: Debugging mutex lock'
Commit: 2cbf79d7f5c924f0b6a5e9506b5decc694fbf284
https://github.com/Perl/perl5/commit/2cbf79d7f5c924f0b6a5e9506b5decc694fbf284
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/version/t/07locale.t
M t/porting/customized.dat
Log Message:
-----------
07locale.t: Add some Windows locales to try
On various windows machines, none of the locales listed in <DATA> exist.
This commit copies ones from core's loc_tools.pl to give additional
possibilities to try
Commit: c29001e54d96a16d0f2827a5cb697751f207c41a
https://github.com/Perl/perl5/commit/c29001e54d96a16d0f2827a5cb697751f207c41a
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/version/t/07locale.t
Log Message:
-----------
cpan/version/07locale.t: drop, bug have to recompute md5
Commit: a32a4e3a2acc2f390ec7dec18b39963d5b4f3f04
https://github.com/Perl/perl5/commit/a32a4e3a2acc2f390ec7dec18b39963d5b4f3f04
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/porting/customized.dat
Log Message:
-----------
customized.dat
Commit: 73d9a3761cfb67752e7729323f1f4ad2a8dcb019
https://github.com/Perl/perl5/commit/73d9a3761cfb67752e7729323f1f4ad2a8dcb019
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
S_find_locale_from_environment: Handle disparate LC_ALL
Prior to this commit, it was possible on some platforms to improperly
set a locale category from a locale of "".
Consider:
export LC_ALL="LC_CTYPE=de_DE;LC_NUMERIC=C;LC_TIME=de_DE;..."
and then run
print POSIX::setlocale(LC_NUMERIC, "");
It wouldn't know how to extract just the LC_NUMERIC part of the LC_ALL
string.
There is no test added because I didn't find a shell that allows setting
LC_ALL to such a disparate value.
Commit: 7d1a7afc090275cfa9d8da63896ac768a03e2fe4
https://github.com/Perl/perl5/commit/7d1a7afc090275cfa9d8da63896ac768a03e2fe4
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/loc_tools.pl
Log Message:
-----------
loc_tools: XXX Debug
Commit: 3191a2452755f1a81d71a09192f048e05af897d2
https://github.com/Perl/perl5/commit/3191a2452755f1a81d71a09192f048e05af897d2
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
S_querylocale_2008_i: Add entry assertion
Commit: dc95edc96c39cc9837563555bf884372c324309f
https://github.com/Perl/perl5/commit/dc95edc96c39cc9837563555bf884372c324309f
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
S_bool_setlocale_i: Add entry assertion
Commit: 6553aeb8372b3ae6eeac1fc4f4ace7e88f6eacba
https://github.com/Perl/perl5/commit/6553aeb8372b3ae6eeac1fc4f4ace7e88f6eacba
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
savepv if threaded, unused I think
Commit: 32af79457d20728362ef4f73109ccb756f8a166d
https://github.com/Perl/perl5/commit/32af79457d20728362ef4f73109ccb756f8a166d
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M hints/darwin.sh
Log Message:
-----------
darwin hints querylocale race in earlier darwins?
Commit: f45fe61915ee1fa587ba469e9b17bec4910a4dae
https://github.com/Perl/perl5/commit/f45fe61915ee1fa587ba469e9b17bec4910a4dae
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M pp.c
Log Message:
-----------
pp_study: Add memory use debugging
Commit: 27d5902ac99b999a5f9fb0ac1d26e85a354bc17d
https://github.com/Perl/perl5/commit/27d5902ac99b999a5f9fb0ac1d26e85a354bc17d
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M pp.c
Log Message:
-----------
Revert "pp_study: Add memory use debugging"
Commit: f379f12ee9aaeba9224a3334d6fa41e9c82408ac
https://github.com/Perl/perl5/commit/f379f12ee9aaeba9224a3334d6fa41e9c82408ac
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M hints/darwin.sh
Log Message:
-----------
darwin
Commit: fe20d427ab52a05dd106fc3815cc0491b3c9172a
https://github.com/Perl/perl5/commit/fe20d427ab52a05dd106fc3815cc0491b3c9172a
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M hints/freebsd.sh
Log Message:
-----------
Enable thread-safe locales on some freebsd versions
This had been disabled in the hints file due to bugs, which perl now
works around, so reenable (and reformat some lines for clarity)
Commit: f0b391b645ed16e27ee85b358c59a917707b6e0e
https://github.com/Perl/perl5/commit/f0b391b645ed16e27ee85b358c59a917707b6e0e
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
t/run/locale.t: debug
Commit: cebe9820484280a621e0aef1515a43a7ed402d89
https://github.com/Perl/perl5/commit/cebe9820484280a621e0aef1515a43a7ed402d89
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
locale_threads: add a commented out yield
Commit: 3856f6aad5ed888bb49a9ff38c45e4946819fee5
https://github.com/Perl/perl5/commit/3856f6aad5ed888bb49a9ff38c45e4946819fee5
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
locale_threads: debugging
Commit: fdb366d0b975db44cc8949155398a8dc207d93e6
https://github.com/Perl/perl5/commit/fdb366d0b975db44cc8949155398a8dc207d93e6
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
add is_cur_locale_utf8
Commit: ccbf64263e459634c571fb9b2e1195890e6067f3
https://github.com/Perl/perl5/commit/ccbf64263e459634c571fb9b2e1195890e6067f3
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time::Piece: Use reentrant API
This single line magically makes this work much better under threading,
though critical section locks need to be added as well.
Commit: dd083717289a0294400c623757bf2f4dcc9be0ad
https://github.com/Perl/perl5/commit/dd083717289a0294400c623757bf2f4dcc9be0ad
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time-Piece: Use foldEQ_locale() if available
This core function available since 5.13.2 is thread-safe and knows about
Perl internals, so is preferable to the similar libc function, which is
now used only as a fallback. This commit also bomb proofs the code by
adding an additional fallback, specified in C89, which isn't a great
substitute, but far better than nothing.
Commit: 2674aebf83f1cc2c16300ed9695893073129bd24
https://github.com/Perl/perl5/commit/2674aebf83f1cc2c16300ed9695893073129bd24
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time-Piece: Use isSPACE_LC, not isspace; etc
isDIGIT_LC() does the same thing as isdigit when everything goes well,
but is more robust when things get more complicated. The _LC forms are
thread safe, for example.
But note that this code doesn't work properly for a UTF-8 locale, as it
assumes that a byte and character are the same thing. A major overhaul
would be needed to handle that.
Commit: deb3bc92c3e79ec68cd83d5c3ec5c3bc7ee76c50
https://github.com/Perl/perl5/commit/deb3bc92c3e79ec68cd83d5c3ec5c3bc7ee76c50
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M thread.h
Log Message:
-----------
thread.h: White space only
Indent some nested preproccessor defines
Commit: 3a7e3427af7ece0228dcfb3a455ab0b3611c5fa9
https://github.com/Perl/perl5/commit/3a7e3427af7ece0228dcfb3a455ab0b3611c5fa9
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.pm
M cpan/Time-Piece/Piece.xs
M cpan/Time-Piece/Seconds.pm
M dist/Module-CoreList/lib/Module/CoreList.pm
Log Message:
-----------
Time::Piece: Add critical sections
This calls various macros to make certain libc calls uninterruptible, so
that they can be used safely in threaded applications, when this module
is loaded with a perl that supports this.
The macros are defined to do nothing if the perl doesn't contain working
versions of them. In such perls, the macros are also defined to do
nothing except on configurations that could have races.
Typically, an extra problem is that the libc calls return in a global
static buffer, subject to being overwritten by another thread. But an
earlier commit defined PERL_REENTRANT, which makes those functions
transparently return in a thread-local buffer instead. That doesn't
help if the function gets interrupted by another thread; this commit
completes the process.
Commit: 5cea263bbce3c2416b74ce091f40077c373898e3
https://github.com/Perl/perl5/commit/5cea263bbce3c2416b74ce091f40077c373898e3
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
XXX Time::Piece strftime
Commit: 9d546516b3270acc654591764b0a133c6d4fec08
https://github.com/Perl/perl5/commit/9d546516b3270acc654591764b0a133c6d4fec08
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time-Piece: notes to myself
Commit: ae3884a9fa263ebbd159051e50ef2104484f8e9c
https://github.com/Perl/perl5/commit/ae3884a9fa263ebbd159051e50ef2104484f8e9c
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M util.c
M win32/perlhost.h
Log Message:
-----------
XXX Win32 mem log
Commit: ff7d50dd8e17f3de3fd198483b4e6215916d5a72
https://github.com/Perl/perl5/commit/ff7d50dd8e17f3de3fd198483b4e6215916d5a72
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M util.c
Log Message:
-----------
XXX util add thread to mem_log
Commit: f110b07317c8df7330fc70a434e65e8b29ad1992
https://github.com/Perl/perl5/commit/f110b07317c8df7330fc70a434e65e8b29ad1992
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Debug wrap wset
Commit: a8b9bfbb6c04e9038081ac7513118b93d0356edb
https://github.com/Perl/perl5/commit/a8b9bfbb6c04e9038081ac7513118b93d0356edb
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M pod/perlhacktips.pod
Log Message:
-----------
XXX incomplete perlhacktips:
Commit: bf1792e037d1e0b225ad6697d1d90ed10fd30023
https://github.com/Perl/perl5/commit/bf1792e037d1e0b225ad6697d1d90ed10fd30023
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M iperlsys.h
Log Message:
-----------
iperlsys.h: TODO need to look at adding mutexes
Commit: 0363d33fb73ab0f367392b7550936f77152f6a15
https://github.com/Perl/perl5/commit/0363d33fb73ab0f367392b7550936f77152f6a15
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M regen/reentr.pl
Log Message:
-----------
reentr.pl: XXX about needing mutex
Commit: 4a8b42ebf136cf483262efc3190ae6a40646b7f8
https://github.com/Perl/perl5/commit/4a8b42ebf136cf483262efc3190ae6a40646b7f8
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M dist/ExtUtils-ParseXS/lib/perlxs.pod
M t/porting/known_pod_issues.dat
Log Message:
-----------
perlxs
Commit: 7545b093baae590eac9fa3ed780defbd3d978e1f
https://github.com/Perl/perl5/commit/7545b093baae590eac9fa3ed780defbd3d978e1f
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M pod/perlmod.pod
Log Message:
-----------
perlmod
Commit: b9aba51dd0de95e477b98810e1a2d30f09839ee9
https://github.com/Perl/perl5/commit/b9aba51dd0de95e477b98810e1a2d30f09839ee9
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M pod/perllocale.pod
Log Message:
-----------
perllocale Xxx start of changes
Commit: 273a224c9f6a89548172f43c9dbc081aea1bd5a0
https://github.com/Perl/perl5/commit/273a224c9f6a89548172f43c9dbc081aea1bd5a0
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M win32/config_H.gc
M win32/config_h.PL
M win32/config_sh.PL
Log Message:
-----------
XXX config
Commit: 1e47782fae2d78e932a5238b4b51a1df4ee0d9c2
https://github.com/Perl/perl5/commit/1e47782fae2d78e932a5238b4b51a1df4ee0d9c2
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
XXX t/run/locale.t
Commit: 6ce25641274a14034c21e31819b710d2a1e69787
https://github.com/Perl/perl5/commit/6ce25641274a14034c21e31819b710d2a1e69787
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M pod/perlembed.pod
Log Message:
-----------
f perlembed
Commit: 71866d70d8622197df5d043adfd0d91cb1e26c5a
https://github.com/Perl/perl5/commit/71866d70d8622197df5d043adfd0d91cb1e26c5a
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M intrpvar.h
M locale.c
M perl.h
Log Message:
-----------
Fixup FAKE_MINGW
This is used (by me) to partially emulate MingW on a *nix platform. It
was passing all its tests, but I discovered that I had the wrong #if
which was hence not enabling crucial parts of the emulation.
Commit: 0db366b2877a6e022639702f08de14fc8ad14ae2
https://github.com/Perl/perl5/commit/0db366b2877a6e022639702f08de14fc8ad14ae2
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
locale_threads: start of using platform locales
Commit: 949623288dbe2dae2390969e5eee6dc573a2dce5
https://github.com/Perl/perl5/commit/949623288dbe2dae2390969e5eee6dc573a2dce5
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
Revert "locale_threads: start of using platform locales"
This reverts commit a7a8dea3aabb81a05aacaf3a26c49854a5854111.
Commit: a29bfbde52518f95cb07f809f461810f896d0e34
https://github.com/Perl/perl5/commit/a29bfbde52518f95cb07f809f461810f896d0e34
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
M perl.c
M sv.c
Log Message:
-----------
define numeric values to be C when no USE_NUMERIC
Commit: a27a6730d5398f1c6a5b0f15cab5490f58625296
https://github.com/Perl/perl5/commit/a27a6730d5398f1c6a5b0f15cab5490f58625296
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
M perl.c
M sv.c
Log Message:
-----------
Revert "define numeric values to be C when no USE_NUMERIC"
This reverts commit 9bb7ff6531bf9e28d635a71e6d55c752a995da2d.
Commit: 11c2a243b930f5f74a72005c1de8c04bed1523b3
https://github.com/Perl/perl5/commit/11c2a243b930f5f74a72005c1de8c04bed1523b3
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Add #define to separate label from declaration
This is designed to be mostly self-documenting.
Commit: f1e10ada814b612ec293d65bc09aa3572bff65d4
https://github.com/Perl/perl5/commit/f1e10ada814b612ec293d65bc09aa3572bff65d4
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
locale.c: Generalize save_to_buffer()
This adds a parameter to the function to give the length of the input
string to save; when -1, it acts as it did before this commit.
This will allow a string that contains embedded NUL characters to be
used with this function. And that is needed because it turns out that
nl_langinfo() returns such a string, and Perl has never handled it
properly. This is the first step in fixing that.
Commit: b5731b40a17a9d18f52c09c31f095515483fdc27
https://github.com/Perl/perl5/commit/b5731b40a17a9d18f52c09c31f095515483fdc27
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
Revert "locale.c: Generalize save_to_buffer()"
This reverts commit be8fa81d301b9db351876a3738b93b1450c590d0.
Commit: 8689e6b425333f784d78f0a8f47e9d9cc247b556
https://github.com/Perl/perl5/commit/8689e6b425333f784d78f0a8f47e9d9cc247b556
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
rulereeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Commit: 09f871eac471ff6a49cff74d19f283e78bc3b194
https://github.com/Perl/perl5/commit/09f871eac471ff6a49cff74d19f283e78bc3b194
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
locale.c: Silence compiler warning
This tightens when this function is compiled to the actual
Configurations it is needed in.
Commit: 454b0813fd9ee5ac411326a3a5fa430aa830dbd9
https://github.com/Perl/perl5/commit/454b0813fd9ee5ac411326a3a5fa430aa830dbd9
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
C_thous better ifdef
Commit: fea7668986b36a7520854eb551fcda9a1a71b019
https://github.com/Perl/perl5/commit/fea7668986b36a7520854eb551fcda9a1a71b019
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M ext/POSIX/t/posix.t
M ext/POSIX/t/time.t
M ext/XS-APItest/t/locale.t
M lib/locale.t
M lib/locale_threads.t
Log Message:
-----------
skip tests if no strftime
Commit: 6b1e733be997061cfa716609426bb6633aea8b58
https://github.com/Perl/perl5/commit/6b1e733be997061cfa716609426bb6633aea8b58
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M t/loc_tools.pl
Log Message:
-----------
loctools use if dumper
Commit: 942aee019c50e12eff9d527427a6f3a80ca911be
https://github.com/Perl/perl5/commit/942aee019c50e12eff9d527427a6f3a80ca911be
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale.t
Log Message:
-----------
XXX lib/locale.t dont scan for LC_NUMERIC
Commit: dfee3e70c3ac23a73324084b32fc77c970f62ff4
https://github.com/Perl/perl5/commit/dfee3e70c3ac23a73324084b32fc77c970f62ff4
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Combine some preprocessor directives
This function is full of #if conditionals, due to the high variance in
what the capabilities of platforms are.
I tried various methods to lessen the cognitive load, like turning it
into separate functions that each suit a particular Configuration, but
it was just as complicated as before.
The code is doing set up, then the actual operation, then teardown. The
actual operation is invariant. What this commit does is for some of the
setup conditionals to define its own teardown macro. The result is the
teardown looks much cleaner, and there is no possibility that it will
get out-of-sync with the setup.
Commit: 15f21788888c064699c96929507020e4712271de
https://github.com/Perl/perl5/commit/15f21788888c064699c96929507020e4712271de
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M hints/freebsd.sh
M locale.c
Log Message:
-----------
Avoid unnecessary mutex lock on Windows
It turns out that Windows since VS 2015 has a completely thread-safe
localeconv() function, with its result stored in a per-thread buffer.
MingW when built with the Universal C Run Time (UCRT) also has this
property. These are the only implementations of localeconv() I know of
like this.
There is thus no need to have a critical section on these platforms.
This commit abstracts this, so that other platforms can be added if
found to be thread-safe.
Commit: a1736c743660b455ce5adde00080936c8d0e4d18
https://github.com/Perl/perl5/commit/a1736c743660b455ce5adde00080936c8d0e4d18
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
XXX msg: locale.c: Combine some more (WIn32) preprocessor directives
Commit: ae6fe251af34a1e6b1560b4c379134245c498bfa
https://github.com/Perl/perl5/commit/ae6fe251af34a1e6b1560b4c379134245c498bfa
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: White space only
Commit: e7835e23c0deaef4737f45d46ef3d8fad39aab2a
https://github.com/Perl/perl5/commit/e7835e23c0deaef4737f45d46ef3d8fad39aab2a
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Do simple adjustment in a critical section
This adjustment was deferred until after the critical section, but it is
only an extra conditional and variable set, whose time should be dwarfed
by the store to the hash, so I think it's all right to add it to the
critical section.
Commit: b07099db53a7152fad4e0d8f8cbcfc46ea718780
https://github.com/Perl/perl5/commit/b07099db53a7152fad4e0d8f8cbcfc46ea718780
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Do localeconv() adjustments immediately unthreaded
localeconv() must be called and its struct processed in a critical
section when other threads or embedded perls could also be using it.
Something like StructCopy can't be used to save its values, as a deep
copy is needed. Some of the processing can be expensive, so is deferred
to a separate pass after the critical section.
But if no critical section is needed, it's cheaper to do the processing
as we go along doing the copy. A comment removed in this commit said
that the reason this wasn't done was because of an extra maintenance
cost (having to maintain the code in two places). But when I actually
looked at what it would like like to do this, I found it is essentially
just an extra function call, not enough "extra" to worry about.
Commit: 4e9ef19eadca36ad3ed6d28c979e264fac7d47ca
https://github.com/Perl/perl5/commit/4e9ef19eadca36ad3ed6d28c979e264fac7d47ca
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M ext/POSIX/lib/POSIX.pod
Log Message:
-----------
start of pod for localeconv
Commit: 67b6229bceb025e8d480606362011705f1b1d181
https://github.com/Perl/perl5/commit/67b6229bceb025e8d480606362011705f1b1d181
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Add struct definition as a fallback
If we ever encountered a platform that didn't have localeconv(), nor its
structure definition, this could be used to get things to work.
Commit: 40df36ffb8ee4b0bc9fe71667fe780efc3d6e744
https://github.com/Perl/perl5/commit/40df36ffb8ee4b0bc9fe71667fe780efc3d6e744
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
debug populate localeconv
Commit: 7d83b7e63a3ae6da7998f85644758cefe5d905f7
https://github.com/Perl/perl5/commit/7d83b7e63a3ae6da7998f85644758cefe5d905f7
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M dist/threads/threads.xs
Log Message:
-----------
debug thread xs
Commit: 41d3a5846fb675cf1b07553febf19e463deb9181
https://github.com/Perl/perl5/commit/41d3a5846fb675cf1b07553febf19e463deb9181
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
lib/locale_threads.t: Change variable names
Using 'set' as opposed to 'group' is clearer.
Commit: 28e67fe93dbc094236e53e256b4f733e1ec557da
https://github.com/Perl/perl5/commit/28e67fe93dbc094236e53e256b4f733e1ec557da
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
lib/locale_threads.t: Add debugging info
Commit: bc2dd1a48dfeda6c4b0e5460ea06050ff358b299
https://github.com/Perl/perl5/commit/bc2dd1a48dfeda6c4b0e5460ea06050ff358b299
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Don't mortalize my_localeconv() for internal use
For external consumption, retain the mortalization; but for internal
explicitly decrement the reference count when done.
Commit: ece961be1dedd15b61709909dbb34ca5c5850cbe
https://github.com/Perl/perl5/commit/ece961be1dedd15b61709909dbb34ca5c5850cbe
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Use stable copy to compare instead of temporary
We make a copy of this temporary. Use that going foward, and free the
temporary earlier.
Commit: e17e745c0418c595fc63a668137eeee7e2405efc
https://github.com/Perl/perl5/commit/e17e745c0418c595fc63a668137eeee7e2405efc
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embedvar.h
M intrpvar.h
M perl.c
M sv.c
Log Message:
-----------
PL_strftime_buf
Commit: 7aaa73b317ca969e7839c7ba992de1d37db7c0d0
https://github.com/Perl/perl5/commit/7aaa73b317ca969e7839c7ba992de1d37db7c0d0
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embedvar.h
M intrpvar.h
M perl.c
M sv.c
Log Message:
-----------
Revert "PL_strftime_buf"
This reverts commit 640625a4d9cdf9c3d8b0ff45865be221632ab8cd.
Commit: 58eabf1af749f8b906587455d399c1376dea085f
https://github.com/Perl/perl5/commit/58eabf1af749f8b906587455d399c1376dea085f
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale_table.h
Log Message:
-----------
C preprocessor doesn't understand 'false' means 0
So use 0 instead; 1 instead of 'true'
Commit: 2bcfbea08c718edf8acbc1b59405086898d2f282
https://github.com/Perl/perl5/commit/2bcfbea08c718edf8acbc1b59405086898d2f282
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Move #include to earlier
The next commit will want this header's information to be available for
perl_langinfo.h.
Commit: cfbae13fb64ea7f54611413bb3698c2a8fd6ab72
https://github.com/Perl/perl5/commit/cfbae13fb64ea7f54611413bb3698c2a8fd6ab72
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
M perl_langinfo.h
Log Message:
-----------
locale.c: Compile/call S_emulate_langinfo in more Configurations
This will not compile if -DNO_LOCALE is specified, as well as
some other Configurations where various locale categories are missing or
confined to be the C locale.
Commit: 4121240349b8d0486b3d016720c9f1f24b18bc1f
https://github.com/Perl/perl5/commit/4121240349b8d0486b3d016720c9f1f24b18bc1f
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Avoid unused param warnings
Under some configurations the three declarations here warned; the #ifdef
was missing a term
Commit: cdd899702a13bf17146817bb151d7cd67a027940
https://github.com/Perl/perl5/commit/cdd899702a13bf17146817bb151d7cd67a027940
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M proto.h
Log Message:
-----------
locale.c: Don't compile unused function
Since 0b52bb633d8c55bb15f05cdb19a4b7cb071ea271, this function isn't used
unless localeconv() is available. Don't compile it unless that is true.
Commit: 36585f4e37a2fc099060812c3f830fab0b0ce0a6
https://github.com/Perl/perl5/commit/36585f4e37a2fc099060812c3f830fab0b0ce0a6
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
locale.c: Don't compile unused function
Since 60e050beb2e45ebd7ead7f1bf93f845b23c474b5, this function is no
longer called if -DNO_LOCALE has been specified. Don't compile it when
not called.
Commit: b474b41c63fa9fc06b0fe07634fd922f2b7a08f3
https://github.com/Perl/perl5/commit/b474b41c63fa9fc06b0fe07634fd922f2b7a08f3
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Fix bug when -DNO_LOCALE_TIME
The logic for these preprocessor conditionals is wrong. We must change
LC_CTYPE to match LC_TIME (if the platform requires it) even when
LC_TIME is confined to be the C locale, as happens when -DNO_LOCALE_TIME
is in effect in a Configuration.
But doing so allows for simplification and hence the complete removal of
these preprocessor conditionals, as the logic is already available in
the DEALING macros that this commit replaces the previous code with
Commit: 4812086ca37ecab085ddf63eea2293904b19f677
https://github.com/Perl/perl5/commit/4812086ca37ecab085ddf63eea2293904b19f677
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
locale.c: Change API for static strftime-related functions
This changes these functions to be called with an additional SV
parameter; their return becomes a bool success/fail.
This presents a couple of advantages:
libc strftime() now writes directly to the SV's PV, eliminating copying
or using sv_usepvn().
For internal calls where the result is immediately consumed entirely in
this file, we can use the already-existing scratch SV as the
destination. This SV gets reused over and over, and likely will soon
reach a large enough size so that it doesn't have to grow. Prior to
this commit, a size was guessed each time and the space freed
immediately after each use.
Commit: fc7a464d4d5a77044233061cb0a49e56cb86eda8
https://github.com/Perl/perl5/commit/fc7a464d4d5a77044233061cb0a49e56cb86eda8
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M locale.c
M proto.h
Log Message:
-----------
locale.c: Change formal parameter name
The previous commit makes the current name somewhat ambiguous; so change
it and add comments clarifying its use.
Commit: 99e09d8d0d64cb91f3fda415efd27f96ed0a19de
https://github.com/Perl/perl5/commit/99e09d8d0d64cb91f3fda415efd27f96ed0a19de
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M proto.h
M sv.c
Log Message:
-----------
Add newSVpvz() to create a sized SvPV.
There's no current trivial method to create a non-zero length SV that
will hold a PV.
Commit: 80a7265441bcf2bfdb2a0386fc23e76fcdd8e8ce
https://github.com/Perl/perl5/commit/80a7265441bcf2bfdb2a0386fc23e76fcdd8e8ce
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Call newSVpvz()
Commit: 4cbaadd548390adb70ff94ab1530e38a7c2d774a
https://github.com/Perl/perl5/commit/4cbaadd548390adb70ff94ab1530e38a7c2d774a
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Each toggle locale must have matching restore
The next commit will want this symmetry, which until now hasn't
mattered.
Commit: e2eb78ca66e7edec6c7a95cdb1f0ffdb676b0b62
https://github.com/Perl/perl5/commit/e2eb78ca66e7edec6c7a95cdb1f0ffdb676b0b62
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Use a critical section when locale is toggled
Sometimes the locale for a category has to be toggled to some other
locale, when the desired value is for a locale that isn't the current
one.
This doesn't present any problem when locales are thread-safe. The
locale gets toggled back before any other work is done.
But when locales are not thread-safe and we have threads, another thread
can execute in the now-wrong locale. Perl, for a few releases now,
tries to mitigate the issues with running locales under threads when
yhread-safe locales are not in use, for mitigations that are easy to do.
These very well may make things work for applications that don't change
locales very much; say only on startup.
But now perl itself changes locales briefly behind an application's
back. It turns out it is easy to add a lock that will keep threads that
otherwise would work to continue to work.
That's what this commit does, by adding TOGGLE_LOCK and TOGGLE_UNLOCK
macros that are no-ops for all but the unsafe-threaded locale
implementation.
The unused parameter to the macros is for future use.
Commit: 22ac2b67f709cb2dc051f4e46f58ad61898eaf4b
https://github.com/Perl/perl5/commit/22ac2b67f709cb2dc051f4e46f58ad61898eaf4b
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale.t
M locale.c
Log Message:
-----------
fix alt0 for no_nl
Commit: 40de5073f4d066abe35fd99fa8651104aba75552
https://github.com/Perl/perl5/commit/40de5073f4d066abe35fd99fa8651104aba75552
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
SvPV nomg
Commit: 80d0d3c3ce32127c0270e31de74ec6cbd64537c3
https://github.com/Perl/perl5/commit/80d0d3c3ce32127c0270e31de74ec6cbd64537c3
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
shorten_toggle
Commit: 4dfdefdb577f8f80b8d2dabb6b7734c3afd51a02
https://github.com/Perl/perl5/commit/4dfdefdb577f8f80b8d2dabb6b7734c3afd51a02
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Swap the order of two functions
The new ordering will make the diffs less in the next commit, and will
make just as much sense going forward as the previous ordering.
Commit: 1450d9e6445d59ae6ab48d0c0d5b48be70ae1073
https://github.com/Perl/perl5/commit/1450d9e6445d59ae6ab48d0c0d5b48be70ae1073
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
locale.c: Pass locale to strftime functions
Commit: 53a81b63f51a5ec7608295c4380d61959982acda
https://github.com/Perl/perl5/commit/53a81b63f51a5ec7608295c4380d61959982acda
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
querylocale
Maybe use C in the callers
Commit: 21b1b403e290f642c7ee7928a6fa25b4bafa655d
https://github.com/Perl/perl5/commit/21b1b403e290f642c7ee7928a6fa25b4bafa655d
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Revert "querylocale"
This reverts commit b6ea27aa76a1c8785e84df9a1a42f1a71dcc81e2.
Commit: 5ecf7001be531dacf8e3a419274ef33e8931dc89
https://github.com/Perl/perl5/commit/5ecf7001be531dacf8e3a419274ef33e8931dc89
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
toggle2
Commit: a5a9a9fa101c3c03afffe969753b9761f66a6931
https://github.com/Perl/perl5/commit/a5a9a9fa101c3c03afffe969753b9761f66a6931
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
Add DEBUG_SETLOCALE_INCONSISTENCIES
Commit: 7cabc4fba6b5435a6292c56351b10e55641f3df8
https://github.com/Perl/perl5/commit/7cabc4fba6b5435a6292c56351b10e55641f3df8
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
Enable DEBUG_SETLOCALE_INCONSISTENCIES
Commit: 4a421d9262a99d96dc4bd2e05224cdb96a5cf545
https://github.com/Perl/perl5/commit/4a421d9262a99d96dc4bd2e05224cdb96a5cf545
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Make numeric standard inconsistent
Commit: 572a43dc988f76327ad47899d5603c3a0502822b
https://github.com/Perl/perl5/commit/572a43dc988f76327ad47899d5603c3a0502822b
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M embedvar.h
M handy.h
M inline.h
M intrpvar.h
M locale.c
M makedef.pl
M mg.c
M perl.c
M perl.h
M pod/perlvar.pod
M proto.h
M sv.c
Log Message:
-----------
Add ability to emulate thread-safe locale operations
Locale information was originally global for an entire process. Later,
it was realized that different threads could want to be running in
different locales. Windows added this ability, and POSIX 2008 followed
suit (though using a completely different API). When available, perl
automatically uses these capabilities.
But many platforms have neither, or their implementation, such as on
Darwin, is buggy. This commit adds the capability for Perl programs to
operate as if the platform were thread-safe.
This implementation is based on the observation that the underlying
locale matters only to relatively few libc calls, and only during their
execution. It can be anything at all at any other time. perl keeps
what the proper locale should be for each category in a a per-thread
array. Each locale-dependent operation must be wrapped in mutex
lock/unlock operations. The lock additionally compares what libc knows
the locale to be, and what it should be for this thread at this time,
and changes the actual locale to the proper value if necessary. That's
all that is needed.
This commit adds macros to perl.h, for example "MBTOWC_LOCK_", that
expand to do the mutex lock, and change the global locale to the
expected value. On perls built without this emulation capability, they
are no-ops. All code in the perl core (unless I've missed something),
are changed to use these macros (there weren't actually many places that
needed this). Thus, any pure perl program will automatically become
locale-thread-safe under this Configuration.
In order for XS code to also become locale-thread-safe, it must use
these macros to wrap calls to locale-dependent functions. Relatively
few modules call such functions. For example, the only one I found that
ships with the perl core is Time::Piece, and it has more fundamental
issues with running under threads than this. I am preparing pull
requests for it.
Thus, this is not completely transparent to code like native-thread-safe
locale handling is. Therefore ${^SAFE_LOCALES} returns 2 (instead of 1)
for this type of thread-safety.
Another deficiency compared to the native thread safety is when a thread
calls a non-perl library that accesses the locale. The typical example is
Gtk (though this particular application can be configured to not be
problematic). With the native safe threads, everything works as long as
only one such thread is used per Perl program. That thread would then
be the only one operating in the global locale, hence there are no
conflicts. With this emulation, all threads are operating in the global
locale, and mutexes would have to be used to prevent conflicts. To
minimize those, the code added in this commit restores the global locale
when through to the state it was in when started.
A major concern is the performance impact. This is after all trading
speed for accuracy. lib/locale_threads.t is noticeably slower when this
is being used. But that is doing multiple threads constantly using
locale-dependent operations. I don't notice any change with the rest of
the test suite. In pure perl, this only comes into play while in the
scope of 'use locale' or when using some of the few POSIX:: functions
that are locale-dependent. And to some extent when formatting, but the
regular overhead there should dwarf what this adds.
This commit leaves this feature off by default. The next commit changes
that for the next few 5.39 development releases, so we can see if there
is actually an issue.
Commit: 02cb77ba3bf0e13a47c42827ad561b8ada67e259
https://github.com/Perl/perl5/commit/02cb77ba3bf0e13a47c42827ad561b8ada67e259
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
DEBUG Lv to U
Commit: f1ee1b53f146a4f977af43558cf1ff7197b9efc6
https://github.com/Perl/perl5/commit/f1ee1b53f146a4f977af43558cf1ff7197b9efc6
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
CONST_CAT_TO_INDEX
Commit: 1738d912ab601fc463d41a38a2d8c740242b4ee1
https://github.com/Perl/perl5/commit/1738d912ab601fc463d41a38a2d8c740242b4ee1
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
extra debug
Commit: bdd27048037698750057f7d155c8721185c9bdfb
https://github.com/Perl/perl5/commit/bdd27048037698750057f7d155c8721185c9bdfb
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
more emul locks
Commit: 4642c8fdc5066d2a38921a37e718c51801e87241
https://github.com/Perl/perl5/commit/4642c8fdc5066d2a38921a37e718c51801e87241
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Revert "more emul locks"
This reverts commit 4733a1674423ee47b33eb0ee1882e1bf39faa1a6.
Commit: a469b1bc96bf0bec771feb88cd4983a5dd8abc8e
https://github.com/Perl/perl5/commit/a469b1bc96bf0bec771feb88cd4983a5dd8abc8e
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
langinfo lock
Commit: d2108af90e74a9609d7e6a1427a6e1986eeaf99e
https://github.com/Perl/perl5/commit/d2108af90e74a9609d7e6a1427a6e1986eeaf99e
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Revert "langinfo lock"
This reverts commit acaff35d7ed83830fb36c149aafede5cdf400061.
Commit: 7f95846e4f5248e823b3899aecd58c00935ede3e
https://github.com/Perl/perl5/commit/7f95846e4f5248e823b3899aecd58c00935ede3e
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
lock mask
Commit: c706bf56273789a3fdb436594fa8b528db1d796f
https://github.com/Perl/perl5/commit/c706bf56273789a3fdb436594fa8b528db1d796f
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Revert "lock mask"
This reverts commit 3fd528c9d5d5b9c05dc1c697e61570b81811fb95.
Commit: de7c01fe255e822603577a9f3f6fd588b0aa8a89
https://github.com/Perl/perl5/commit/de7c01fe255e822603577a9f3f6fd588b0aa8a89
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Maybe comment'
Commit: 9f4653f8a8a5f41a15a0319ecbb7508e0565c52a
https://github.com/Perl/perl5/commit/9f4653f8a8a5f41a15a0319ecbb7508e0565c52a
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
emul assertion
Commit: 26547c07f2df909b189760aaa1975b0fdf98a88c
https://github.com/Perl/perl5/commit/26547c07f2df909b189760aaa1975b0fdf98a88c
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
M makedef.pl
Log Message:
-----------
Experimentally enable per-thread locale emulation
This is set to end in 5.39.10, but will give us field experience in the
meantime.
Commit: ebcb48e09a82758934bbf8c39fe79fc94531ab4b
https://github.com/Perl/perl5/commit/ebcb48e09a82758934bbf8c39fe79fc94531ab4b
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M makedef.pl
M perl.h
Log Message:
-----------
Don't do thread-safe locales emulation on mingw
MingW when compiled with the Universal C runtime (UCRT) is thread-safe
with respect to locales, just as VS 2015 and later MSVCRT compilations
are.
However, versions not using UCRT cannot be compiled to emulate
thread-safe locale. I'm pretty sure this is due to a bug in the libc
strftime() function, having spent a bunch of hours working on this.
It often fails lib/locale_threads.t when using the emulation, but not
always. The failure is always in strftime().
What made me think it could be perl is another characteristic of the
failures. lib/locale_threads.t works by, in each thread, setting each
available locale category to a locale, different from any other category
in that thread, and as different as possible from the locale for the
corresponding category in any other thread. For example thread 0 might
have LC_CTYPE set to locale X, LC_NUMERIC to Y, LC_TIME to Z, etc.
Thread 1 would use a locale for LC_CTYPE, as different from X as
possible, meaning executing the same operation on thread 0 and thread 1
would yield different expected results. (It goes to some lengths to
calculate the biggest distance in the results.) Similarly LC_NUMERIC
would have something almost completely different from Y; and so on.
Then each thread executes a batch of iterations. Each iteration runs
all the operations I could find that perl uses that apply to LC_TYPE,
and all the ones that apply to each of the other categories. And
verifies that all the results are as expected.
Simultaneously, the other threads are executing their batch. It is
verifying that there is no bleed-through from one thread to another. If
the threads all have the same results as the other threads, we couldn't
detect if there is real bleed-through or not. This is solved by making
the results for each category as different as possible from any other
thread currently executing.
However, this isn't good enough. Every so many iterations, each thread
changes to use a new set of locales. This verifies that the locales can
be changed in a thread without that bleeding through to other threads.
And thread 0 is special. It harvests the other threads as they finish,
and keeps going for a while. This is to catch bugs in thread
completion, of which we've had a few.
MingW's failures all occur, when they occur, on the first iteration
following a switch to a new set of locales. That is suspiciously like
it is a race condition in cleaning up from the previous setting. But it
isn't the first test of the set of the first iteration of the next set.
It can be the 10th or so test. I added enough debugging statements to
convince me that it isn't perl.
This is the failing code in locale.c:
STRFTIME_LOCK;
int len = strftime(buf, bufsize, fmt, mytm);
STRFTIME_UNLOCK;
The returned 'buf' is not always correct.
T
The LOCK/UNLOCK macros on MingW with thread-safe emulation enabled, call
EnterCriticalSection(), and set the locales for the categories that
affect strftime() to the proper locale. Just to be sure. I tested
setting LC_ALL to the correct value. While in its uninterruptible (by
other locale handling code anyway) section, strftime() fills buf with
the result for the current locale (which STRFTIME_LOCK has set).
I added print statements within the critical section thusly
STRFTIME_LOCK;
DEBUG_U(PerlIO_printf(Perl_debug_log,
"calling strftime(%s), LC_ALL=%s\n",
fmt, setlocale(LC_ALL, NULL)));
int len = strftime(buf, bufsize, fmt, mytm);
DEBUG_U(PerlIO_printf(Perl_debug_log,
"return=%s, LC_ALL=%s\n",
buf, setlocale(LC_ALL, NULL)));
STRFTIME_UNLOCK;
On this platform, setlocale() expands to _wsetlocale(), a Windows libc
call.
Here's what they showed for one failure.
calling strftime(%b), LC_ALL=Hungarian_Hungary.1250
return=marc., LC_ALL=Hungarian_Hungary.1250
The 'a' in the Hungarian for March is supposed to be a U+00E1, with an
acute accent, so this is wrong.
strftime() also is passed a pointer to a struct tm, which is filled in
with various integers which indicate in this case which month the %b is
supposed to return. That it is returning something very much like márch
indicates those integers are correct.
Not shown in the example above are the other prints I added to verify
that we are indeed in a critical section. I didn't see a way to
actually test for this via a libc call, but one could use strace and
wade through the output. But there are print statements that print out
immediately before entering a critical section, and immediately after
leaving it. I verified that those prints indicate this code is in a
critical section.
I note that this box has actually not very many locales, so that the
distance between the results of various threads isn't all that large.
Pretty much all the locales are CP 1250, 1251, 1252, and 1257, and no
UTF-8 ones, so all locales are single byte. None of them map \XE1 into
plain 'a', which is what we are seeing returned, so the cleanup theory
seems wrong. Sometimes the return is '?' or a series of them,
indicating that the returned character is mojibake.
None of the locales I saw had 'marc\.' as a possible return. It appears
only here in the entire trace of all threads. This makes it again less
likely that it is a cleanup issue. But where did it come from?. I
don't know. The value for the C locale is 'Mar', so it didn't come from
there.
The localeconv() function is also broken in this Configuration. We long
ago figured out a workaround for that. I tried that same workaround for
strftime(), and it didn't help.
Commit: de09f1d8ad2af14cd615895b708f980cd3711c14
https://github.com/Perl/perl5/commit/de09f1d8ad2af14cd615895b708f980cd3711c14
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M makedef.pl
M perl.h
Log Message:
-----------
Revert "Don't do thread-safe locales emulation on mingw"
This reverts commit 4e4dfa1146e1f389110d001587ccb0fadec4323b.
Commit: a3579bc76e0cf5188378572808fcdd915eceacc7
https://github.com/Perl/perl5/commit/a3579bc76e0cf5188378572808fcdd915eceacc7
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
XXX perl.h maybe drop
Commit: 409da0842eea2adc74b11db26bf2d18cd4d8626c
https://github.com/Perl/perl5/commit/409da0842eea2adc74b11db26bf2d18cd4d8626c
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M makedef.pl
Log Message:
-----------
makedef.pl: PL_cur_locale_obj is only POSIX 2008 multiplicity
Commit: 92209bd69965c8c31bcc70f9cf4e38a5e713e5b4
https://github.com/Perl/perl5/commit/92209bd69965c8c31bcc70f9cf4e38a5e713e5b4
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
locale_threads.t: Better handle weird locales
The previous code was generating bunches of uninitialized variable
warnings, due to 1) not checking for definedness early; 2) the loop
termination needs to be reevaluated each time because there is a
potential splice, shortening the array.
This only happens, I believe, on MingW not using UCRT.
Commit: 86f67b6e0bf86b0efbae88d642e595a21d6d4f57
https://github.com/Perl/perl5/commit/86f67b6e0bf86b0efbae88d642e595a21d6d4f57
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
Revert "locale_threads.t: Skip on OpenBSD and DragonFly threaded builds"
This reverts commit 1d74e8214dd53cf0fa9e8c5aab3e6187685eadcd, as they
have been modified
Commit: dd2a41724ce1c10aa4a2f794ce1a3ccc4edb905d
https://github.com/Perl/perl5/commit/dd2a41724ce1c10aa4a2f794ce1a3ccc4edb905d
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Debug uselocale
Commit: 6762887f8372954044e1df0a18174557209e712b
https://github.com/Perl/perl5/commit/6762887f8372954044e1df0a18174557209e712b
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M pp.c
Log Message:
-----------
pp_study: hook
Commit: 930b53c0b77dc3cc2f2673be83d2f2c0ac03b10e
https://github.com/Perl/perl5/commit/930b53c0b77dc3cc2f2673be83d2f2c0ac03b10e
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M sv.c
Log Message:
-----------
sv.c need to check for pv in sv in sv_setpvf
Commit: 527fbfe53847234caa823501ae40b67ac04774fc
https://github.com/Perl/perl5/commit/527fbfe53847234caa823501ae40b67ac04774fc
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
XXXExperimental: use just one of mktime, minimktime
Commit: 168db8467fbd06b73c3e6ccbacd7973935fc78fe
https://github.com/Perl/perl5/commit/168db8467fbd06b73c3e6ccbacd7973935fc78fe
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Revert "XXXExperimental: use just one of mktime, minimktime"
This reverts commit d57565d5719746a0a3873db4bb47f4a5407bf65a.
Commit: e31df748f9e2ce0a93e34ed6f7ef52fe072b2737
https://github.com/Perl/perl5/commit/e31df748f9e2ce0a93e34ed6f7ef52fe072b2737
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M hv.c
M locale.c
M perl.h
M sv.c
Log Message:
-----------
final
Commit: 04414320933588a676138a7b7b3caefb0f992186
https://github.com/Perl/perl5/commit/04414320933588a676138a7b7b3caefb0f992186
Author: Karl Williamson <[email protected]>
Date: 2024-02-02 (Fri, 02 Feb 2024)
Changed paths:
M sv_inline.h
Log Message:
-----------
Add comment to sv_setpv_freshbuf
Compare: https://github.com/Perl/perl5/compare/4c12ea854d7d...044143209335