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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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 <k...@cpan.org> 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