Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 3813d3f10e3aacfa874645b12c166f0940b9a076 https://github.com/Perl/perl5/commit/3813d3f10e3aacfa874645b12c166f0940b9a076 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 9e354ea46e8e72e583bd41b532317380a8906d3f https://github.com/Perl/perl5/commit/9e354ea46e8e72e583bd41b532317380a8906d3f Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: fb5e286c73e02ff5da54af50f1c56b29adf03a92 https://github.com/Perl/perl5/commit/fb5e286c73e02ff5da54af50f1c56b29adf03a92 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: ----------- BlackBox dont use rare scripts Commit: 427db73893503a5778670c3c2d898877657b15ab https://github.com/Perl/perl5/commit/427db73893503a5778670c3c2d898877657b15ab Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/harness Log Message: ----------- XXX t/harness temp tweaks Commit: f701905bfd9b3109b1c681b68d1391b4c7fb6de5 https://github.com/Perl/perl5/commit/f701905bfd9b3109b1c681b68d1391b4c7fb6de5 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/harness Log Message: ----------- XXX skip croak.t under sanitizer Commit: ab51293d3a3b39ef08e048b10ceba8933e95ad26 https://github.com/Perl/perl5/commit/ab51293d3a3b39ef08e048b10ceba8933e95ad26 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/porting/bincompat.t Log Message: ----------- skip bincompat.t Commit: f5760379f96c21acb1a4c94f6f74bef3cb45e6f2 https://github.com/Perl/perl5/commit/f5760379f96c21acb1a4c94f6f74bef3cb45e6f2 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/porting/bincompat.t Log Message: ----------- Revert "skip bincompat.t" This reverts commit 559abf36660fef3e16d1cd33dc5aa6ca2202b88c. Commit: 34c28e63f9a2e41ff3fd7704603c55a70fb6fb84 https://github.com/Perl/perl5/commit/34c28e63f9a2e41ff3fd7704603c55a70fb6fb84 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/TEST Log Message: ----------- Skip cpan testing message Commit: c30a1b60031a9b93d1f292fb73f9627edff6671a https://github.com/Perl/perl5/commit/c30a1b60031a9b93d1f292fb73f9627edff6671a Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- runconfigure: only usequery with that directory Commit: 93b16a8a5bee4c966fbabb198eab707aa658cae5 https://github.com/Perl/perl5/commit/93b16a8a5bee4c966fbabb198eab707aa658cae5 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/TEST Log Message: ----------- Also skip non-thread dist testing Commit: 13643c653975b5732aa2e77e3bf2a1c8858b602d https://github.com/Perl/perl5/commit/13643c653975b5732aa2e77e3bf2a1c8858b602d Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: ----------- XXX skip Archive-Tar because of symlinks Commit: 96a84680f7e5de43245d97e6289837a231657d29 https://github.com/Perl/perl5/commit/96a84680f7e5de43245d97e6289837a231657d29 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/porting/cmp_version.t Log Message: ----------- XXX skip cmp_version.t because of sym links Commit: 70d1f99397a665b4e7fd547f0f3bb939b01e09ff https://github.com/Perl/perl5/commit/70d1f99397a665b4e7fd547f0f3bb939b01e09ff Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: e324c6dda5a22520a68f33a0892d5cfff01e33c6 https://github.com/Perl/perl5/commit/e324c6dda5a22520a68f33a0892d5cfff01e33c6 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M dist/Tie-File/t/29a_upcopy.t Log Message: ----------- up timeout for dist/Tie-File/t/29a_upcopy.t Commit: 67047b53f99e19efbbb5d9365900fda03cca8a48 https://github.com/Perl/perl5/commit/67047b53f99e19efbbb5d9365900fda03cca8a48 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 806f365856decdcca43cfad7b8a3fe78928c6b0f https://github.com/Perl/perl5/commit/806f365856decdcca43cfad7b8a3fe78928c6b0f Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/run/locale.t Log Message: ----------- run/locale.t: more debug Commit: 0126002eb32b365da32f2c0b7f377c53efd07be4 https://github.com/Perl/perl5/commit/0126002eb32b365da32f2c0b7f377c53efd07be4 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 5541f14507614c7cd420ef244d9379c3756a7042 https://github.com/Perl/perl5/commit/5541f14507614c7cd420ef244d9379c3756a7042 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- XXX temp to test broken lconv on non-Windows Commit: 19ee087abd370c616186c07fbfdf9020890bbe32 https://github.com/Perl/perl5/commit/19ee087abd370c616186c07fbfdf9020890bbe32 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/run/locale.t Log Message: ----------- XXX run/locale.t: maybe f move test Commit: f3d3e0169b88d58a7e57f40e5c77f25141252d6c https://github.com/Perl/perl5/commit/f3d3e0169b88d58a7e57f40e5c77f25141252d6c Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: defa876830d5c42059a32974d1509ceb29f2a095 https://github.com/Perl/perl5/commit/defa876830d5c42059a32974d1509ceb29f2a095 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/porting/cmp_version.t Log Message: ----------- XXX skip cmp_version.t prob. due to 5.38 tag issue Commit: 54f366a7f5c8b0c84e992a2089d306f1c006b782 https://github.com/Perl/perl5/commit/54f366a7f5c8b0c84e992a2089d306f1c006b782 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 3881dfe4c9ad92bab4200c9ecf428ef25d8d7930 https://github.com/Perl/perl5/commit/3881dfe4c9ad92bab4200c9ecf428ef25d8d7930 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M makedef.pl M perl.h Log Message: ----------- XXX temporary: Allow undef LC_ALL Commit: c7d8170e10393fa5ad9b7cc6734f2a8955c2be0a https://github.com/Perl/perl5/commit/c7d8170e10393fa5ad9b7cc6734f2a8955c2be0a Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- perl.h: Fake up win32 compile a bit Commit: b2fcba379e9e27018fafb581da19315d3e0ecfe4 https://github.com/Perl/perl5/commit/b2fcba379e9e27018fafb581da19315d3e0ecfe4 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 343030de2649f9cec17ca028dd8e3e5b8d72b95e https://github.com/Perl/perl5/commit/343030de2649f9cec17ca028dd8e3e5b8d72b95e Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 0787f140e652615c80a6a7d299842f02180ef95c https://github.com/Perl/perl5/commit/0787f140e652615c80a6a7d299842f02180ef95c Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 84dfed58bec4712a87248e7c17227463f9a96121 https://github.com/Perl/perl5/commit/84dfed58bec4712a87248e7c17227463f9a96121 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 459f10e47e338fe3d713dba7c0a77915fa587a83 https://github.com/Perl/perl5/commit/459f10e47e338fe3d713dba7c0a77915fa587a83 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M embed.fnc M proto.h M util.c Log Message: ----------- XXX memlog Commit: 8d15ac2d48cd5b21019b5a3d880ff61780f0d730 https://github.com/Perl/perl5/commit/8d15ac2d48cd5b21019b5a3d880ff61780f0d730 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h M t/run/switchDx.t Log Message: ----------- debug thread Commit: 5af9e0617b67c51e201330901248fd246bbf27a9 https://github.com/Perl/perl5/commit/5af9e0617b67c51e201330901248fd246bbf27a9 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M dist/threads/threads.xs Log Message: ----------- threads.xs DEBUG_U Commit: c40ccb3633b222a0ae7cd713621cb1b5ab5af6ba https://github.com/Perl/perl5/commit/c40ccb3633b222a0ae7cd713621cb1b5ab5af6ba Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M lib/locale.t Log Message: ----------- XXX temp: lib/locale.t: debug Commit: df880895997b1e2e075492bb54ef43945a5ed1e0 https://github.com/Perl/perl5/commit/df880895997b1e2e075492bb54ef43945a5ed1e0 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M lib/locale.t Log Message: ----------- lib/locale.t FILE debug Commit: 30a6236a1cb462429b1d25bc71519c0519719546 https://github.com/Perl/perl5/commit/30a6236a1cb462429b1d25bc71519c0519719546 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M lib/locale.t Log Message: ----------- lib/locale.t Commit: 8f88bf669852dfd5e1ec93b28a77f9a24a575dcf https://github.com/Perl/perl5/commit/8f88bf669852dfd5e1ec93b28a77f9a24a575dcf Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- XXX perl.h: Debugging mutex lock' Commit: 28947fab2f7b986f62a87622d88e5e3dcf5a3f9d https://github.com/Perl/perl5/commit/28947fab2f7b986f62a87622d88e5e3dcf5a3f9d Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: c00cd98385bbaed661e94435ba92aefc81a77920 https://github.com/Perl/perl5/commit/c00cd98385bbaed661e94435ba92aefc81a77920 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M cpan/version/t/07locale.t Log Message: ----------- cpan/version/07locale.t: drop, bug have to recompute md5 Commit: 02f70f9ea05680f6c3d4c240e9071004d38f7aee https://github.com/Perl/perl5/commit/02f70f9ea05680f6c3d4c240e9071004d38f7aee Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/porting/customized.dat Log Message: ----------- customized.dat Commit: 82270983cba376f91c63e7479b249d7448f1b98d https://github.com/Perl/perl5/commit/82270983cba376f91c63e7479b249d7448f1b98d Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/loc_tools.pl Log Message: ----------- loc_tools: XXX Debug Commit: 41907451a9f58f7b8c9ebe965fb5b969973785bc https://github.com/Perl/perl5/commit/41907451a9f58f7b8c9ebe965fb5b969973785bc Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- S_querylocale_2008_i: Add entry assertion Commit: b577fbb2b3f6d789f7e1658576cb4a9b9c8217aa https://github.com/Perl/perl5/commit/b577fbb2b3f6d789f7e1658576cb4a9b9c8217aa Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- S_bool_setlocale_i: Add entry assertion Commit: 68e5522ce1f008f009307d5eaf65157a92dd224e https://github.com/Perl/perl5/commit/68e5522ce1f008f009307d5eaf65157a92dd224e Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- savepv if threaded, unused I think Commit: 4c29dd5bddee1a7a4facba18f925d02e131bee67 https://github.com/Perl/perl5/commit/4c29dd5bddee1a7a4facba18f925d02e131bee67 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M hints/darwin.sh Log Message: ----------- darwin hints querylocale race in earlier darwins? Commit: c07fac9246ef95ed30133c72a7c4972a6cd8390e https://github.com/Perl/perl5/commit/c07fac9246ef95ed30133c72a7c4972a6cd8390e Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M pp.c Log Message: ----------- pp_study: Add memory use debugging Commit: 41830e0e3cd5bf6023c2b5e42e7ac8ae8c2f1251 https://github.com/Perl/perl5/commit/41830e0e3cd5bf6023c2b5e42e7ac8ae8c2f1251 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M pp.c Log Message: ----------- Revert "pp_study: Add memory use debugging" Commit: 791e00bbf4f5aa00cda53963f09a96eda23dd916 https://github.com/Perl/perl5/commit/791e00bbf4f5aa00cda53963f09a96eda23dd916 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M hints/darwin.sh Log Message: ----------- darwin Commit: 200a8d41c85c3644b9bfc05fd0f64b05114902c4 https://github.com/Perl/perl5/commit/200a8d41c85c3644b9bfc05fd0f64b05114902c4 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: e6096a7bd9211599eaf7e5a001a1f6505d0de4df https://github.com/Perl/perl5/commit/e6096a7bd9211599eaf7e5a001a1f6505d0de4df Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/run/locale.t Log Message: ----------- t/run/locale.t: debug Commit: b7dcecd37139a2e06c82b1d8912753ced635e0b0 https://github.com/Perl/perl5/commit/b7dcecd37139a2e06c82b1d8912753ced635e0b0 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M lib/locale_threads.t Log Message: ----------- locale_threads: add a commented out yield Commit: f8b9083c58035e460534ef427f874c5cdc9c021c https://github.com/Perl/perl5/commit/f8b9083c58035e460534ef427f874c5cdc9c021c Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M lib/locale_threads.t Log Message: ----------- locale_threads: debugging Commit: 53e97c841241561c720d716840b1efa55cc46314 https://github.com/Perl/perl5/commit/53e97c841241561c720d716840b1efa55cc46314 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: e3e444b030b2d24235ff984d4f4ecc07a621e811 https://github.com/Perl/perl5/commit/e3e444b030b2d24235ff984d4f4ecc07a621e811 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 18271dee55e10b8c5b3e5bbf9bc8f2ee8de5d99b https://github.com/Perl/perl5/commit/18271dee55e10b8c5b3e5bbf9bc8f2ee8de5d99b Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 766393d7182372737a45c61a54bb2c256ea21b29 https://github.com/Perl/perl5/commit/766393d7182372737a45c61a54bb2c256ea21b29 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M thread.h Log Message: ----------- thread.h: White space only Indent some nested preproccessor defines Commit: 72512b5097bb251b88b6301eb504fe73d6613079 https://github.com/Perl/perl5/commit/72512b5097bb251b88b6301eb504fe73d6613079 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: af9147770c1ffbb69ad1bf7889091ae1a1727744 https://github.com/Perl/perl5/commit/af9147770c1ffbb69ad1bf7889091ae1a1727744 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M cpan/Time-Piece/Piece.xs Log Message: ----------- XXX Time::Piece strftime Commit: 441c7d214deffd62511a474c33670121878861e9 https://github.com/Perl/perl5/commit/441c7d214deffd62511a474c33670121878861e9 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M cpan/Time-Piece/Piece.xs Log Message: ----------- Time-Piece: notes to myself Commit: 721fc99e0848c543d1c31c1982eaa908a5c485e8 https://github.com/Perl/perl5/commit/721fc99e0848c543d1c31c1982eaa908a5c485e8 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M util.c M win32/perlhost.h Log Message: ----------- XXX Win32 mem log Commit: 57d98fbdd47631c0c9a0f5d9b45ba8de3518c706 https://github.com/Perl/perl5/commit/57d98fbdd47631c0c9a0f5d9b45ba8de3518c706 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M util.c Log Message: ----------- XXX util add thread to mem_log Commit: 5b8df7676f44d460ddbd10042cc0ae8e1ebe6ce5 https://github.com/Perl/perl5/commit/5b8df7676f44d460ddbd10042cc0ae8e1ebe6ce5 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- Debug wrap wset Commit: 1ad4afa4c2cf70882a2db9a15e1299e11b7b9128 https://github.com/Perl/perl5/commit/1ad4afa4c2cf70882a2db9a15e1299e11b7b9128 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M pod/perlhacktips.pod Log Message: ----------- XXX incomplete perlhacktips: Commit: effc293a5c92801d702256a2f7d49a3af7b6cc84 https://github.com/Perl/perl5/commit/effc293a5c92801d702256a2f7d49a3af7b6cc84 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M iperlsys.h Log Message: ----------- iperlsys.h: TODO need to look at adding mutexes Commit: 32fe0a03f7bbaf8d8092c42a8cb736277d116a36 https://github.com/Perl/perl5/commit/32fe0a03f7bbaf8d8092c42a8cb736277d116a36 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M regen/reentr.pl Log Message: ----------- reentr.pl: XXX about needing mutex Commit: ff5d6f604ea07798836e0a30862791e297c7b986 https://github.com/Perl/perl5/commit/ff5d6f604ea07798836e0a30862791e297c7b986 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M pod/perlmod.pod Log Message: ----------- perlmod Commit: 6a84320475d9cfdb88aab2b1a255252544fcb091 https://github.com/Perl/perl5/commit/6a84320475d9cfdb88aab2b1a255252544fcb091 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M pod/perllocale.pod Log Message: ----------- perllocale Xxx start of changes Commit: 61520de82fa590cc8fb9e471cd6236439f5d8673 https://github.com/Perl/perl5/commit/61520de82fa590cc8fb9e471cd6236439f5d8673 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M win32/config_H.gc M win32/config_h.PL M win32/config_sh.PL Log Message: ----------- XXX config Commit: 3bd068f8847476b9ecea85dea1b74bfbdb88839a https://github.com/Perl/perl5/commit/3bd068f8847476b9ecea85dea1b74bfbdb88839a Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M pod/perlembed.pod Log Message: ----------- f perlembed Commit: 09a736f4321fb0733963ee56cc8157dc80f42eff https://github.com/Perl/perl5/commit/09a736f4321fb0733963ee56cc8157dc80f42eff Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 379108b92712030556c4f110e4e23c4e910586df https://github.com/Perl/perl5/commit/379108b92712030556c4f110e4e23c4e910586df Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 6774ac67c1729f12dab0be20ce8c30deb2b17a55 https://github.com/Perl/perl5/commit/6774ac67c1729f12dab0be20ce8c30deb2b17a55 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M pp.c Log Message: ----------- pp_study: hook Commit: d04adae6bc702bdd29dccf6d6401d77e6b65233e https://github.com/Perl/perl5/commit/d04adae6bc702bdd29dccf6d6401d77e6b65233e Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M lib/locale.t Log Message: ----------- lib/locale.t: Cope with no LC_ALL Commit: 788155b4e0e0c5d1af9af2e47a88a5238df894bc https://github.com/Perl/perl5/commit/788155b4e0e0c5d1af9af2e47a88a5238df894bc Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M lib/locale.t Log Message: ----------- lib/locale.t: Cope with no_nl,no localeconv I single stepped the code and it returned a comma on ps_AF, but the SNPRINTF printed the read thing. I think it is because we are emulating the deficient libc. Commit: 51158e6c1d038ecf0bc56214044c0d1fc5a2a61f https://github.com/Perl/perl5/commit/51158e6c1d038ecf0bc56214044c0d1fc5a2a61f Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/run/locale.t Log Message: ----------- t/run/locale.t: Change var name and hoist to larger scope The old name was somewhat misleading Commit: 3150debba366f7b6353c7f7eddc640bf36157ce9 https://github.com/Perl/perl5/commit/3150debba366f7b6353c7f7eddc640bf36157ce9 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/run/locale.t Log Message: ----------- t/run/locale.t: Extract code into a sub This is in preparation for it to be called from another place Commit: 4c3e415a12049e7cd423da613c612e91b79c6fcf https://github.com/Perl/perl5/commit/4c3e415a12049e7cd423da613c612e91b79c6fcf Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/run/locale.t Log Message: ----------- t/run/locale.t: Save sub return in an array This is in preparation for it to be used again. Commit: 60f9a63bdd885800329449dc1d1c691d65016028 https://github.com/Perl/perl5/commit/60f9a63bdd885800329449dc1d1c691d65016028 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/run/locale.t Log Message: ----------- t/run/locale.t: Add test This is marked TODO; the next commit will cause this test to pass. Commit: 6e5504155903efeccecbdeb5c1a54f87eb9e7588 https://github.com/Perl/perl5/commit/6e5504155903efeccecbdeb5c1a54f87eb9e7588 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c M t/run/locale.t 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. Commit: 5610bc3c75683003f0c980e6d0d595b2ba148dae https://github.com/Perl/perl5/commit/5610bc3c75683003f0c980e6d0d595b2ba148dae Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c M t/run/locale.t Log Message: ----------- Revert "S_find_locale_from_environment: Handle disparate LC_ALL" This reverts commit ec083d3e824ac77199917066653c26780cf26bb0. Commit: ad34705f6ce48d0a621a04b37b0d7a92f28a3b8d https://github.com/Perl/perl5/commit/ad34705f6ce48d0a621a04b37b0d7a92f28a3b8d Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/run/locale.t Log Message: ----------- Revert "t/run/locale.t: Add test" This reverts commit 28b41f6baf95fe40466e5ee3e349550c7c4e85ee. Commit: 303b8542912bb03491c20d93d66ac55cadcc7f09 https://github.com/Perl/perl5/commit/303b8542912bb03491c20d93d66ac55cadcc7f09 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/run/locale.t Log Message: ----------- t/run/locale.t: Cope with no LC_ALL Commit: 4572f254889e6c7c34c0eb9fe1dc60e57e27db4f https://github.com/Perl/perl5/commit/4572f254889e6c7c34c0eb9fe1dc60e57e27db4f Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- rulereeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Commit: e8e168f50ffb8e7a9ec88d6b6db5ce9098781c23 https://github.com/Perl/perl5/commit/e8e168f50ffb8e7a9ec88d6b6db5ce9098781c23 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: ae805be82e6fc191b46e83186649cdbdfaf9936c https://github.com/Perl/perl5/commit/ae805be82e6fc191b46e83186649cdbdfaf9936c Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- C_thous better ifdef Commit: ad872a53391396369b87fb3edc812c17dfd447f0 https://github.com/Perl/perl5/commit/ad872a53391396369b87fb3edc812c17dfd447f0 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 18fdb1b594ddbfc936b42379cf65dbdfd004876c https://github.com/Perl/perl5/commit/18fdb1b594ddbfc936b42379cf65dbdfd004876c Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/loc_tools.pl Log Message: ----------- loctools use if dumper Commit: aa5da176297d2ff8735711dca2a2a77ad78fcc0a https://github.com/Perl/perl5/commit/aa5da176297d2ff8735711dca2a2a77ad78fcc0a Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M ext/POSIX/lib/POSIX.pod Log Message: ----------- start of pod for localeconv Commit: f0a86c53309b80f3de3afc4434574ea0b152b058 https://github.com/Perl/perl5/commit/f0a86c53309b80f3de3afc4434574ea0b152b058 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: a27f28d487320bbdf60c207451b02c374dbfea9a https://github.com/Perl/perl5/commit/a27f28d487320bbdf60c207451b02c374dbfea9a Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- debug populate localeconv Commit: d5786b02893edd43e0e3e69277d5685c24b51d99 https://github.com/Perl/perl5/commit/d5786b02893edd43e0e3e69277d5685c24b51d99 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M dist/threads/threads.xs Log Message: ----------- debug thread xs Commit: cfb7b0ea7d22de0eb6634f3b25e2fd52b291395c https://github.com/Perl/perl5/commit/cfb7b0ea7d22de0eb6634f3b25e2fd52b291395c Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M lib/locale_threads.t Log Message: ----------- lib/locale_threads.t: Add debugging info Commit: e86e40494f71ca0df717de424a6852c296fa1317 https://github.com/Perl/perl5/commit/e86e40494f71ca0df717de424a6852c296fa1317 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M lib/locale_threads.t Log Message: ----------- lib/locale_threads.t: Cope with no LC_CTYPE Commit: 8340d32d1ff89fc72bec92ca069e5c23a4a664f7 https://github.com/Perl/perl5/commit/8340d32d1ff89fc72bec92ca069e5c23a4a664f7 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 3895b5dc5bc20e8d0218461d60b1987b21c0adaf https://github.com/Perl/perl5/commit/3895b5dc5bc20e8d0218461d60b1987b21c0adaf Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- locale.c: Call newSVpvz() Commit: c5f17cebf1fcf3381e57c7e045ae81e693b6cd1c https://github.com/Perl/perl5/commit/c5f17cebf1fcf3381e57c7e045ae81e693b6cd1c Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M malloc.c Log Message: ----------- XXX malloc.c: Locak around a getenv I believe this is done very early; only for the first time; maybe mutexes aren't initialized, so may not be necessary; might break Commit: b811ae51eea79072207b95e6185984c24602a264 https://github.com/Perl/perl5/commit/b811ae51eea79072207b95e6185984c24602a264 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M thread.h Log Message: ----------- thread.h: Add CONVERT_READ_LOCK_TO_WRITE Commit: a73f99100985dae64f6b1efc864c514fc704a2ff https://github.com/Perl/perl5/commit/a73f99100985dae64f6b1efc864c514fc704a2ff Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.c M perl.h Log Message: ----------- perl.c: Add locks around a *environ access When reading the environment, a read lock is needed; when writing, a write lock. Commit: e8f7b64e420ee4302209fe02e8588eb84a204f60 https://github.com/Perl/perl5/commit/e8f7b64e420ee4302209fe02e8588eb84a204f60 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- Move ENV defns Commit: c272d61fa23d8d0678365e23d73c2b8af0d7fc09 https://github.com/Perl/perl5/commit/c272d61fa23d8d0678365e23d73c2b8af0d7fc09 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- perl.h: Use auxiliary #define for simplicity Prior to this commit we avoided #defining a symbol until later, so that that fact could be used for further decisions. But this is a bit awkward, and so this commit introduces an additional #define that can be used for the decisions, while defining the symbol at the place where it makes the most sense to. Commit: 7b29ec3bc4f39d5586f2441415e139f88ae1cff4 https://github.com/Perl/perl5/commit/7b29ec3bc4f39d5586f2441415e139f88ae1cff4 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- perl.h: Move things so gwLOCK definitions are adjacent Commit: 986bdcc2f61dd13033275f5b0eba3a7334663d57 https://github.com/Perl/perl5/commit/986bdcc2f61dd13033275f5b0eba3a7334663d57 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- perl.h: Move Commit: e706167bf0bebec18762c4b00cffd72f90c3b378 https://github.com/Perl/perl5/commit/e706167bf0bebec18762c4b00cffd72f90c3b378 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- Move locale mutext init/destruct I can't find a place in this file for this to go that isn't somewhat awkward. Because the environment and locale mutexes are intertwined, they naturally fit together. One would think the basic initialization and termination of the locale mutexes should go ahead of their use. But because of all the complications, that interrupts the flow of the logic between the environment and locale mutexes, so they are moved to later by this commit. Commit: be1f562ae20c1377ae5259652aedf47c5bfed3c5 https://github.com/Perl/perl5/commit/be1f562ae20c1377ae5259652aedf47c5bfed3c5 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M dist/ExtUtils-ParseXS/lib/perlxs.pod M pod/perlembed.pod M pod/perlhacktips.pod M pod/perllocale.pod M t/porting/known_pod_issues.dat Log Message: ----------- perlxs Commit: d8b8e65bfeada2ad1bd810338d4626d442c1fb37 https://github.com/Perl/perl5/commit/d8b8e65bfeada2ad1bd810338d4626d442c1fb37 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M pod/perlhacktips.pod Log Message: ----------- Note that __VA_OPT__ is now in C++20 whereas before we said it had never been standardized Commit: a0364b94db6dd00fb3f9673cf9a5acbe32a24103 https://github.com/Perl/perl5/commit/a0364b94db6dd00fb3f9673cf9a5acbe32a24103 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h M perlvars.h Log Message: ----------- perl.h: Convert reentrant locks to allow many readers Commit: c219117d8865a492c20bb7223f56c838797e8663 https://github.com/Perl/perl5/commit/c219117d8865a492c20bb7223f56c838797e8663 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M embedvar.h M intrpvar.h M perl.h M sv.c Log Message: ----------- Make ENV_LOCK reentrant Commit: 51a664325f9ba5e00b606da54c9042ca2cc0bf64 https://github.com/Perl/perl5/commit/51a664325f9ba5e00b606da54c9042ca2cc0bf64 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.c Log Message: ----------- Fix CONVERT READ Commit: 3facfdc7a2c673e70a25fb5eddba1ce213a2f938 https://github.com/Perl/perl5/commit/3facfdc7a2c673e70a25fb5eddba1ce213a2f938 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.c Log Message: ----------- fixup convert env read to write Commit: b1ff1f3bf35e5e8d4eb6e16c1954aad6743f3669 https://github.com/Perl/perl5/commit/b1ff1f3bf35e5e8d4eb6e16c1954aad6743f3669 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M MANIFEST M Makefile.SH A lock_definitions.h M regen.pl A regen/lock_definitions.pl M regen/reentr.pl Log Message: ----------- lock definitions.h Commit: a45eab4af777f4775e81d284baf0a17ce4ed9441 https://github.com/Perl/perl5/commit/a45eab4af777f4775e81d284baf0a17ce4ed9441 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M win32/win32.c Log Message: ----------- win32.c: Wrap putenv with ENV_LOCK Commit: fda6f60c2beec83841af6740f06ab3aec691b5a0 https://github.com/Perl/perl5/commit/fda6f60c2beec83841af6740f06ab3aec691b5a0 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M pp_sys.c Log Message: ----------- pp_sys: Add locks around some calls Commit: 32c726324645be018d878a440371a150b292d6c2 https://github.com/Perl/perl5/commit/32c726324645be018d878a440371a150b292d6c2 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M doio.c Log Message: ----------- doio: Wrap functions with mutexes Commit: 3dd5e5f6d6fa3f55b67778e9df41fd771b128331 https://github.com/Perl/perl5/commit/3dd5e5f6d6fa3f55b67778e9df41fd771b128331 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.c Log Message: ----------- perl.c: Wrap functions with mutexes Commit: 9719604f1bef6655ec4f6bae9f864126a1ddef3a https://github.com/Perl/perl5/commit/9719604f1bef6655ec4f6bae9f864126a1ddef3a Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M mg.c M perl.c Log Message: ----------- sysconf lock Commit: 9888cfa669a8a65659b8992e9dbf6088869e009d https://github.com/Perl/perl5/commit/9888cfa669a8a65659b8992e9dbf6088869e009d Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- locale.c: Enable shortened critical section times Since 5335601b6b6a88f5244d09fd2c1e531a1918ec12, there has been the capability of having nested locks, where the inner one is necessary in all conditions, and the outer one is desirable in just some conditions. But this hasn't been enabled because in some Configurations it could cause a deadlock, with the thread locking the ENV mutex, and then in a nested call trying to lock it again. The previous commit made this mutex reentrant, so the deadlock is gone. Commit: ddf19be1ce9d6115342bc2f6f1387f862aee68fb https://github.com/Perl/perl5/commit/ddf19be1ce9d6115342bc2f6f1387f862aee68fb Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- perl.h add man pages Commit: c76a4374db4a8e333129c5f7b0c3695b83b25ecc https://github.com/Perl/perl5/commit/c76a4374db4a8e333129c5f7b0c3695b83b25ecc Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M ext/POSIX/POSIX.xs Log Message: ----------- posix.xs sysconf comment Commit: 3dd49b48b8c2196dda666f6c2acf8cbb2ac006fe https://github.com/Perl/perl5/commit/3dd49b48b8c2196dda666f6c2acf8cbb2ac006fe Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- revert man pages to perl.h Commit: 558046ae12cda759f92a85e9689ca8300edb0e83 https://github.com/Perl/perl5/commit/558046ae12cda759f92a85e9689ca8300edb0e83 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- perl.h LOCALE_TERM_THREAD_SAFE_LOCALE_EMULATION_ Commit: 17f00505b52e1f17b709e6373d9eca4624262334 https://github.com/Perl/perl5/commit/17f00505b52e1f17b709e6373d9eca4624262334 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M embed.fnc M embed.h M embedvar.h M ext/POSIX/POSIX.xs 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 M thread.h Log Message: ----------- ability Commit: 6fc8be278f460a82360712f16a53b39db4b685e2 https://github.com/Perl/perl5/commit/6fc8be278f460a82360712f16a53b39db4b685e2 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M cpan/Time-Piece/Piece.pm M t/porting/customized.dat Log Message: ----------- Time-Piece Commit: c5cf5a171c7c416ccd983c2ff0d4c4d581f8541e https://github.com/Perl/perl5/commit/c5cf5a171c7c416ccd983c2ff0d4c4d581f8541e Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/porting/regen.t Log Message: ----------- f regen lock defns Commit: 4f1e8f99cb10fe6c645b12cdadeda96915d18beb https://github.com/Perl/perl5/commit/4f1e8f99cb10fe6c645b12cdadeda96915d18beb Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- locale.c move gwLOCK defn; maybe leave in perl? Commit: 8796e9a9e2039e6bfeb613332179e805f930f838 https://github.com/Perl/perl5/commit/8796e9a9e2039e6bfeb613332179e805f930f838 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- perl.h reentrant read locks Commit: 6cedffff3b72a4c394b645b9927ad644938df9ff https://github.com/Perl/perl5/commit/6cedffff3b72a4c394b645b9927ad644938df9ff Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- perl.h: revixe gwENV locks Commit: 9333a24612435b8a54c3ab738b4f81cb1fa0081d https://github.com/Perl/perl5/commit/9333a24612435b8a54c3ab738b4f81cb1fa0081d Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- perl.h fixup WSETLOCALE_LOCK Commit: a5c987a091b6ced3428e394f0761f2a66060a129 https://github.com/Perl/perl5/commit/a5c987a091b6ced3428e394f0761f2a66060a129 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M embedvar.h M intrpvar.h M makedef.pl M perl.h M sv.c Log Message: ----------- fix locks Commit: 3767c827e07648c7894bd89a4ca2af8b6da6a81f https://github.com/Perl/perl5/commit/3767c827e07648c7894bd89a4ca2af8b6da6a81f Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- maybe emul Commit: e8f3c30f3d9f9c31d3ce5e03181de42788eb13d8 https://github.com/Perl/perl5/commit/e8f3c30f3d9f9c31d3ce5e03181de42788eb13d8 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M embedvar.h M intrpvar.h M locale.c M makedef.pl M sv.c Log Message: ----------- more maybe Commit: 53ac4772b903a02450d018c31cb0c8d11839b907 https://github.com/Perl/perl5/commit/53ac4772b903a02450d018c31cb0c8d11839b907 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- Add DEBUG_SETLOCALE_INCONSISTENCIES Commit: 504aa6d17a1432554e0ed18892c5df613abf7ab8 https://github.com/Perl/perl5/commit/504aa6d17a1432554e0ed18892c5df613abf7ab8 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M perl.h Log Message: ----------- Enable DEBUG_SETLOCALE_INCONSISTENCIES Commit: fb965f219ae6cea8e43fb05fcbdaf5b0b1ea929e https://github.com/Perl/perl5/commit/fb965f219ae6cea8e43fb05fcbdaf5b0b1ea929e Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- Make numeric standard inconsistent Commit: 0ff1ecdc3685f5f9b1c37127db0eb79cc401167f https://github.com/Perl/perl5/commit/0ff1ecdc3685f5f9b1c37127db0eb79cc401167f Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c M makedef.pl M perl.h 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: 566751d91c6d868543ceddfe409a738283a465c4 https://github.com/Perl/perl5/commit/566751d91c6d868543ceddfe409a738283a465c4 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: ebaee9b1967648f709de8713ffefd24205968b89 https://github.com/Perl/perl5/commit/ebaee9b1967648f709de8713ffefd24205968b89 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M makedef.pl M perl.h Log Message: ----------- Revert "Don't do thread-safe locales emulation on mingw" This reverts commit 566751d91c6d868543ceddfe409a738283a465c4. Commit: a7ec0373b0bcc816553ba754d6bdd92b1a504d17 https://github.com/Perl/perl5/commit/a7ec0373b0bcc816553ba754d6bdd92b1a504d17 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- DEBUG Lv to U Commit: 6769aa286ba43f6cd62f8cc5ac230a7dcc43b77f https://github.com/Perl/perl5/commit/6769aa286ba43f6cd62f8cc5ac230a7dcc43b77f Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- extra debug Commit: 19b9f5b4b57e1507bf805fe67009f1424c607140 https://github.com/Perl/perl5/commit/19b9f5b4b57e1507bf805fe67009f1424c607140 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- locale.c: Maybe comment' Commit: cee28461139e6ce835b1550647a68f0958be5d0d https://github.com/Perl/perl5/commit/cee28461139e6ce835b1550647a68f0958be5d0d Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 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: 5fda0b855919f4da2d2c5f884046c48491cafce2 https://github.com/Perl/perl5/commit/5fda0b855919f4da2d2c5f884046c48491cafce2 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- Debug uselocale Commit: 50e7e5d5a7b1162b6f726e101f5a285ba660b978 https://github.com/Perl/perl5/commit/50e7e5d5a7b1162b6f726e101f5a285ba660b978 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M sv.c Log Message: ----------- sv.c need to check for pv in sv in sv_setpvf Commit: 941e514a8b13d4599efe75e14f70940da4ea8325 https://github.com/Perl/perl5/commit/941e514a8b13d4599efe75e14f70940da4ea8325 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M sv.c Log Message: ----------- sv Commit: d1943e1bec26b55f1a6a6ef03276e07410436724 https://github.com/Perl/perl5/commit/d1943e1bec26b55f1a6a6ef03276e07410436724 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M embed.fnc M embed.h M locale.c M proto.h Log Message: ----------- immediate use Commit: 97d2995a10c4253aa56a83cb3d4101a657511f0b https://github.com/Perl/perl5/commit/97d2995a10c4253aa56a83cb3d4101a657511f0b Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- more immed Commit: 9072e88539cd87453b437d78e4bb00a63f7e31cf https://github.com/Perl/perl5/commit/9072e88539cd87453b437d78e4bb00a63f7e31cf Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- Revert "more immed" This reverts commit 7213d12415bbd16283e624ea64f633e9abd2be48. Commit: c8c12097148a027e4e2d2364762ae1427b649ac9 https://github.com/Perl/perl5/commit/c8c12097148a027e4e2d2364762ae1427b649ac9 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- locale.c: Comments, white space Commit: 5388b24c14462f361aeedefed3aea4c2721c32d8 https://github.com/Perl/perl5/commit/5388b24c14462f361aeedefed3aea4c2721c32d8 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M embed.fnc M embed.h M locale.c M proto.h Log Message: ----------- add is_cur_locale_utf8 Commit: cb3b06ace72f629faab6519db8d64f56669ec1b4 https://github.com/Perl/perl5/commit/cb3b06ace72f629faab6519db8d64f56669ec1b4 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- start of shortening bad utf8 strerror Commit: ed0da563f0580e7277ccd87dce571a4f4363aa46 https://github.com/Perl/perl5/commit/ed0da563f0580e7277ccd87dce571a4f4363aa46 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c Log Message: ----------- Revert "start of shortening bad utf8 strerror" This reverts commit 042cf1f20203857936fe147213f9af1c30e76188. Commit: a90afb0f0b6298da2827962845ce75ac00b75ffe https://github.com/Perl/perl5/commit/a90afb0f0b6298da2827962845ce75ac00b75ffe Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M ext/POSIX/POSIX.xs M iperlsys.h M locale.c Log Message: ----------- final Commit: e324ecf91e12ca732aa21b70c944d4353746f3a5 https://github.com/Perl/perl5/commit/e324ecf91e12ca732aa21b70c944d4353746f3a5 Author: Karl Williamson <k...@cpan.org> Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M locale.c M lock_definitions.h M perl.h M reentr.h M regen/lock_definitions.pl M regen/reentr.pl Log Message: ----------- fixup Compare: https://github.com/Perl/perl5/compare/152e49f881ef...e324ecf91e12 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications