[Perl/perl5] ee4e4f: perlapi: Combine sv_catpvf-type functions into one...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: ee4e4f68dd9b1c3924f0750b92245e6855f12778 https://github.com/Perl/perl5/commit/ee4e4f68dd9b1c3924f0750b92245e6855f12778 Author: Karl Williamson Date: 2024-06-12 (Wed, 12 Jun 2024) Changed paths: M sv.c Log Message: --- perlapi: Combine sv_catpvf-type functions into one group And the description of that is expanded and hopefully clarified. Having one group containing the descriptions of all closely related functions makes the pod more compact and makes maintenance easier; fixes only need to be applied in one place. And it encourages the documentation authors to compare and contrast the variants, paying closer attention to the subtle differences between them. And it is easier for the reader to choose the variant that is best for their current purpose, rather than hopping around the file, unsure if the current text is identical to that found elsewhere, or if there is a subtle nuance (or three). To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 60dc85: perlapi: Rewrite pod for grok_number, combine with...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 60dc854a42dacca514eb97d1b6849543c7700812 https://github.com/Perl/perl5/commit/60dc854a42dacca514eb97d1b6849543c7700812 Author: Karl Williamson Date: 2024-06-12 (Wed, 12 Jun 2024) Changed paths: M numeric.c Log Message: --- perlapi: Rewrite pod for grok_number, combine with _flags I found the old version overly confusing. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 06cd43: bytes_(to|from_utf8) functions no longer experime...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 06cd43176585d5d116c8eaea20e1df5ca7105b05 https://github.com/Perl/perl5/commit/06cd43176585d5d116c8eaea20e1df5ca7105b05 Author: Karl Williamson Date: 2024-06-12 (Wed, 12 Jun 2024) Changed paths: M embed.fnc Log Message: --- bytes_(to|from_utf8) functions no longer experimental I don't know why these have been marked such for so long, but I think it's time to remove that. They have been updated when necessary, and I see no reason or others to use them. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] fb31b6: Add t/run/todo.t
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: fb31b68a60422081308755424366404020f21e83 https://github.com/Perl/perl5/commit/fb31b68a60422081308755424366404020f21e83 Author: Karl Williamson Date: 2024-06-10 (Mon, 10 Jun 2024) Changed paths: M MANIFEST A t/run/todo.t Log Message: --- Add t/run/todo.t This is a place for tests for unfixed bugs. Such bugs may resurface later in the same or somewhat different form, and we could easily overlook the fact that they are duplicates. By adding TODO tests here, we would automatically get notified that an earlier ticket is fixed when such a later one gets fixed. It is my guess that some open tickets are already fixed and we just don't know it. And it would save time for the proect to not have to go to the issues list and refigure out how to reproduce them, as we periodically do. It would be a good getting-started task for people new to the project to go through our bug list and copy the example failing code snippets into this file. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] c7d67d: perlapi: Move two functions to locale section
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: c7d67d5fd3394dfc2d21585260326d58fe735153 https://github.com/Perl/perl5/commit/c7d67d5fd3394dfc2d21585260326d58fe735153 Author: Karl Williamson Date: 2024-05-30 (Thu, 30 May 2024) Changed paths: M locale.c Log Message: --- perlapi: Move two functions to locale section To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 670935: Add extensive guidance to perlclib
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 670935c948929d2d69ccc2f705347bc792e01e90 https://github.com/Perl/perl5/commit/670935c948929d2d69ccc2f705347bc792e01e90 Author: Karl Williamson Date: 2024-05-30 (Thu, 30 May 2024) Changed paths: M MANIFEST M dist/ExtUtils-ParseXS/lib/perlxs.pod M dist/ExtUtils-ParseXS/lib/perlxstut.pod M pod/perl.pod M pod/perlclib.pod M pod/perldelta.pod M pod/perlembed.pod M pod/perlguts.pod M pod/perllocale.pod M pod/perlthrtut.pod M t/porting/known_pod_issues.dat Log Message: --- Add extensive guidance to perlclib This consolidates much of the pod about interfacing with the standard C library into this pod, while adding extensive documentation. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] db5a1e: Add commented out #define
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: db5a1edd543a10ce6cee7b4f9d33fc2bba95256a https://github.com/Perl/perl5/commit/db5a1edd543a10ce6cee7b4f9d33fc2bba95256a Author: Karl Williamson Date: 2024-05-25 (Sat, 25 May 2024) Changed paths: M win32/win32thread.h Log Message: --- Add commented out #define To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 5856f5: lib/locale.t:
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 5856f5b7c769d5f558791d0d2f100ff79d1662dd https://github.com/Perl/perl5/commit/5856f5b7c769d5f558791d0d2f100ff79d1662dd Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 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: 1eb13b11f60bc5e98a00e979d35be5ff8fe01ae7 https://github.com/Perl/perl5/commit/1eb13b11f60bc5e98a00e979d35be5ff8fe01ae7 Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 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: 0cfa98aa314210408b1f8bd47b6dd2a821df2f60 https://github.com/Perl/perl5/commit/0cfa98aa314210408b1f8bd47b6dd2a821df2f60 Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: df9b6304f8c8a4efcc4555a0f4a8c2589c521a03 https://github.com/Perl/perl5/commit/df9b6304f8c8a4efcc4555a0f4a8c2589c521a03 Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: 58b3b675673e1bf89dc0a868fbf39b4000391c15 https://github.com/Perl/perl5/commit/58b3b675673e1bf89dc0a868fbf39b4000391c15 Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: b7e9b6d20bc27b8a9f302a2a5ee4c03c96a2e513 https://github.com/Perl/perl5/commit/b7e9b6d20bc27b8a9f302a2a5ee4c03c96a2e513 Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 1de2018f0e8bb44366564644f93af00f7e3f623e https://github.com/Perl/perl5/commit/1de2018f0e8bb44366564644f93af00f7e3f623e Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M t/porting/bincompat.t Log Message: --- Revert "skip bincompat.t" This reverts commit 559abf36660fef3e16d1cd33dc5aa6ca2202b88c. Commit: f3e9d947f19ffe6a0e952de71dab414aebfbce9c https://github.com/Perl/perl5/commit/f3e9d947f19ffe6a0e952de71dab414aebfbce9c Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M t/TEST Log Message: --- Skip cpan testing message Commit: df96f10ffbd2e5f289bad04f8fe32a8e51e2febb https://github.com/Perl/perl5/commit/df96f10ffbd2e5f289bad04f8fe32a8e51e2febb Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M t/TEST Log Message: --- Also skip non-thread dist testing Commit: 44637dce4f058831e2ea6e54916ee627e4b4d929 https://github.com/Perl/perl5/commit/44637dce4f058831e2ea6e54916ee627e4b4d929 Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: --- XXX skip Archive-Tar because of symlinks Commit: c6c982663a7e8cc46e373e04d1b8139627eaac52 https://github.com/Perl/perl5/commit/c6c982663a7e8cc46e373e04d1b8139627eaac52 Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t because of sym links Commit: 056c2476682de1f6ee6a1854bbc93b38e48fc672 https://github.com/Perl/perl5/commit/056c2476682de1f6ee6a1854bbc93b38e48fc672 Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M cpan/Sys-Syslog/t/syslog-inet-udp.t M cpan/Sys-Syslog/t/syslog.t Log Mes
[Perl/perl5] b19f01: S_find_locale_from_environment: Handle disparate L...
Branch: refs/heads/smoke-me/khw-batch9 Home: https://github.com/Perl/perl5 Commit: b19f01bf014b01b4fb3bf709e6d66c4af60cfcf2 https://github.com/Perl/perl5/commit/b19f01bf014b01b4fb3bf709e6d66c4af60cfcf2 Author: Karl Williamson Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M locale.c M t/run/locale.t Log Message: --- S_find_locale_from_environment: Handle disparate LC_ALL When calling setlocale(foo, ""), there is a standardized result. If there is an environment variable LC_ALL set, it is used regardless of what 'foo' is. In general, LC_ALL may be set to a heterogenous set of categories and locales, so this could be equivalently setlocale(LC_TIME, "de_DE/C/en_US/zh_TW.UTF-8/he_IL"); Prior to this commit, the code did not handle this possibility. But it's easy to handle this eventuality by calling an already-existing function and examining its return. However, the accompanying test fails at least on Linux, showing that libc also doesn't handle this possibility. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 37b788: Add perldelta for fixes to extra_paired_delimiters...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 37b7886c1a78b5ae81bbf3276682908f42e02c57 https://github.com/Perl/perl5/commit/37b7886c1a78b5ae81bbf3276682908f42e02c57 Author: Karl Williamson Date: 2024-05-23 (Thu, 23 May 2024) Changed paths: M pod/perldelta.pod Log Message: --- Add perldelta for fixes to extra_paired_delimiters feature To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 98d76f: Bump UNIVERSAL.pm version number
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 98d76f5b4ef64b8a13731f42446f9f64803497dc https://github.com/Perl/perl5/commit/98d76f5b4ef64b8a13731f42446f9f64803497dc Author: Karl Williamson Date: 2024-05-23 (Thu, 23 May 2024) Changed paths: M lib/UNIVERSAL.pm Log Message: --- Bump UNIVERSAL.pm version number This is needed as a result of 869c089e65e7abdd5791c0f4592caf4487d8abce To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 9e8734: feature extra_paired_delimiters not considered stable
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 9e8734b69441e9919aa7db746b7229279aaffdfe https://github.com/Perl/perl5/commit/9e8734b69441e9919aa7db746b7229279aaffdfe Author: Karl Williamson Date: 2024-05-23 (Thu, 23 May 2024) Changed paths: M cpan/experimental/lib/stable.pm Log Message: --- feature extra_paired_delimiters not considered stable This is due to GH #8 Commit: 850214088aef01c42e9e450c7d635da65c47cd1f https://github.com/Perl/perl5/commit/850214088aef01c42e9e450c7d635da65c47cd1f Author: Karl Williamson Date: 2024-05-23 (Thu, 23 May 2024) Changed paths: M feature.h M lib/feature.pm M regen/feature.pl Log Message: --- Revert extra_paired_delimiter feature to experimental This is due to GH #8 Commit: f3e2f6b80b270f600ea86b8a0cfc0eb044a83cfc https://github.com/Perl/perl5/commit/f3e2f6b80b270f600ea86b8a0cfc0eb044a83cfc Author: Karl Williamson Date: 2024-05-23 (Thu, 23 May 2024) Changed paths: M pod/perlop.pod M regen/unicode_constants.pl M t/lib/croak/toke M unicode_constants.h Log Message: --- Exclude RtoL characters from paired string delimiters Fixes #8 Some scripts in the world are written right-to-left, such as Arabic and Hebrew. This can result in confusion for quote-like string delimitters that we have chosen based on left-to_right. Therefore exclude all such. Currently, the only pair that falls into this category that we don't exclude for other reasons are SYRIAC COLON SKEWED LEFT/RIGHT. Compare: https://github.com/Perl/perl5/compare/eae32d16ea24...f3e2f6b80b27 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 816d7c: perlguts: Mention av_count()
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 816d7cda541da6b2763dc570110f26aeabbce602 https://github.com/Perl/perl5/commit/816d7cda541da6b2763dc570110f26aeabbce602 Author: Karl Williamson Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M pod/perlguts.pod Log Message: --- perlguts: Mention av_count() av_count() generally is a better option than av_top_index(), so mention it as well as the existing mention of av_top_index() To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 1a2d00: perlapi: Fix typo
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 1a2d008b862c694e8f3988c8292c4aa3f442c12c https://github.com/Perl/perl5/commit/1a2d008b862c694e8f3988c8292c4aa3f442c12c Author: Karl Williamson Date: 2024-05-21 (Tue, 21 May 2024) Changed paths: M handy.h Log Message: --- perlapi: Fix typo To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 0b2292: regen porting/known_pod_issues.dat
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 0b2292a4bfd36e7abcb4c90578fbf4bfdcb7fc78 https://github.com/Perl/perl5/commit/0b2292a4bfd36e7abcb4c90578fbf4bfdcb7fc78 Author: Karl Williamson Date: 2024-05-21 (Tue, 21 May 2024) Changed paths: M t/porting/known_pod_issues.dat Log Message: --- regen porting/known_pod_issues.dat This is a result of fixes to perlbook To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 1a2e8e: t/harness: Fix grammar in comment
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 1a2e8e708a78fa3f519129c2489a4998cfb3266a https://github.com/Perl/perl5/commit/1a2e8e708a78fa3f519129c2489a4998cfb3266a Author: Karl Williamson Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M t/harness Log Message: --- t/harness: Fix grammar in comment To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] bcedd5: perllocale: Update for 5.40 state of affairs
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: bcedd586deb75674791e772a06f4a70724d30848 https://github.com/Perl/perl5/commit/bcedd586deb75674791e772a06f4a70724d30848 Author: Karl Williamson Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M pod/perllocale.pod M t/porting/known_pod_issues.dat Log Message: --- perllocale: Update for 5.40 state of affairs This makes corrections, and additions To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 669153: Update pod for Perl_form() and kin
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 669153390055798c65bf79b39c2203858cc7e9ed https://github.com/Perl/perl5/commit/669153390055798c65bf79b39c2203858cc7e9ed Author: Karl Williamson Date: 2024-04-30 (Tue, 30 Apr 2024) Changed paths: M pod/perldelta.pod M util.c Log Message: --- Update pod for Perl_form() and kin This fixes GH #22170, and includes several corrections. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 0fe487: Don't output msg for harmless use of unsupported l...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 0fe48720193fff589686a091880b8bcf7c58a54b https://github.com/Perl/perl5/commit/0fe48720193fff589686a091880b8bcf7c58a54b Author: Karl Williamson Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M ext/POSIX/POSIX.xs M ext/POSIX/lib/POSIX.pm M locale.c M perl.h Log Message: --- Don't output msg for harmless use of unsupported locale This fixes GH #21562 Perl doesn't support all possible locales. Locales that remap elements of the ASCII character set or change their case pairs won't work fully, for example. Hence, some Turkish locales arent supported because Turkish has different behavior in regard to 'I' and 'i' than other locales that use the Latin alphabet. The only multi-byte locales that perl supports are UTF-8 ones (and there actually is special handling here to support Turkish). Other multi-byte locales can be dangerous to use, possibly crashing or hanging the Perl interpreter. Locales with shift states are particularly prone to this. Since perl is written in C, there is always an underlying locale. But most C functions don't look at locales at all, and the Perl interpreter takes care to call the ones that do only within the scope of 'use locale' or for certain function calls in the POSIX:: module that always use the program's current underlying locale. Prior to this commit, if a dangerous locale underlied the program at startup, a warning to that effect was emitted, even if that locale never gets accessed. This commit changes things so that no warning is output until and if the dangerous underlying locale is actually attempted to be used. Pre-existing code also deferred warnings about locales (like the Turkish ones mentioned above) that aren't fully compatible with perl. So it was a simple matter to just modify this code a bit, and add some extra checks for sane locales being in effect To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 279d5a: lib/locale.pm: Remove obsolete pod
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 279d5aee014454fc4f69110f33f6a637e6574c01 https://github.com/Perl/perl5/commit/279d5aee014454fc4f69110f33f6a637e6574c01 Author: Karl Williamson Date: 2024-04-21 (Sun, 21 Apr 2024) Changed paths: M lib/locale.pm Log Message: --- lib/locale.pm: Remove obsolete pod Commit: bc24c73ef3cf70df19a3587bd84598b539fb7708 https://github.com/Perl/perl5/commit/bc24c73ef3cf70df19a3587bd84598b539fb7708 Author: Karl Williamson Date: 2024-04-21 (Sun, 21 Apr 2024) Changed paths: M lib/locale.pm Log Message: --- lib/locale.pm: Expand pod synopsis This fixes GH #21097 Compare: https://github.com/Perl/perl5/compare/c29a53108021...bc24c73ef3cf To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] f936cd: loc_tools.pl: Fix up Windows locale gathering
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: f936cd91ee430786a1bb6068a4a7c8362610dd5f https://github.com/Perl/perl5/commit/f936cd91ee430786a1bb6068a4a7c8362610dd5f Author: Karl Williamson Date: 2024-04-19 (Fri, 19 Apr 2024) Changed paths: M t/loc_tools.pl Log Message: --- loc_tools.pl: Fix up Windows locale gathering The code previously didn't properly check for .ACP, .OCP, and .1252 locales, and as a result the attempts to check these were not the proper syntax and so they didn't get tested. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 0bad64: Add TODO test for GH #22062
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 0bad64386aa24daf5fa28a2a8e302d7e4dcbf32a https://github.com/Perl/perl5/commit/0bad64386aa24daf5fa28a2a8e302d7e4dcbf32a Author: Karl Williamson Date: 2024-04-10 (Wed, 10 Apr 2024) Changed paths: M ext/POSIX/t/time.t Log Message: --- Add TODO test for GH #22062 This will be fixed in the next commit, and the TODO removed. Commit: e78caca8144e26d9096bd78e6abdcb6b59a22379 https://github.com/Perl/perl5/commit/e78caca8144e26d9096bd78e6abdcb6b59a22379 Author: Karl Williamson Date: 2024-04-10 (Wed, 10 Apr 2024) Changed paths: M embed.fnc M embed.h M ext/POSIX/lib/POSIX.pod M ext/POSIX/t/time.t M locale.c Log Message: --- Revert not using mini_mktime() This fixes GH #22062, which has extensive discussion not repeated in this commit message Compare: https://github.com/Perl/perl5/compare/4a55343c55f9...e78caca8144e To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 6fc2ba: Add TODO test for GH #22062
Branch: refs/heads/smoke-me/jkeenan/khw/revertmktime Home: https://github.com/Perl/perl5 Commit: 6fc2ba591414c8a65d2d0be36e36fc16ffb1e682 https://github.com/Perl/perl5/commit/6fc2ba591414c8a65d2d0be36e36fc16ffb1e682 Author: Karl Williamson Date: 2024-04-03 (Wed, 03 Apr 2024) Changed paths: M ext/POSIX/t/time.t Log Message: --- Add TODO test for GH #22062 This will be fixed in the next commit, and the TODO removed. Commit: 3d28dc3019f58a8ef94aee45c071c39af7d88c10 https://github.com/Perl/perl5/commit/3d28dc3019f58a8ef94aee45c071c39af7d88c10 Author: Karl Williamson Date: 2024-04-04 (Thu, 04 Apr 2024) Changed paths: M embed.fnc M embed.h M ext/POSIX/lib/POSIX.pod M ext/POSIX/t/time.t M locale.c Log Message: --- Revert not using mini_mktime() This fixes GH #22062, which has extensive discussion not repeated in this commit message Compare: https://github.com/Perl/perl5/compare/6fc2ba591414%5E...3d28dc3019f5 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 8e2d66: perl.h Move ENV lock defns
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 8e2d6658ad95cc17a9c0333c9f0ee9e3a03e1560 https://github.com/Perl/perl5/commit/8e2d6658ad95cc17a9c0333c9f0ee9e3a03e1560 Author: Karl Williamson Date: 2024-04-01 (Mon, 01 Apr 2024) Changed paths: M perl.h Log Message: --- perl.h Move ENV lock defns Commit: 54ea92987ca84430d44cad2d1f5e753279635f21 https://github.com/Perl/perl5/commit/54ea92987ca84430d44cad2d1f5e753279635f21 Author: Karl Williamson Date: 2024-04-01 (Mon, 01 Apr 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: b393f59889f07f932bfa726bac8ca3de211d3614 https://github.com/Perl/perl5/commit/b393f59889f07f932bfa726bac8ca3de211d3614 Author: Karl Williamson Date: 2024-04-01 (Mon, 01 Apr 2024) Changed paths: M perl.h Log Message: --- perl.h: Move things so gwLOCK definitions are adjacent Commit: eadcf592626fb22bfbbb3d7fc8213f1eea4bdc5f https://github.com/Perl/perl5/commit/eadcf592626fb22bfbbb3d7fc8213f1eea4bdc5f Author: Karl Williamson Date: 2024-04-01 (Mon, 01 Apr 2024) Changed paths: M perl.h Log Message: --- perl.h: Move locale macro definitions This moves the non-lock macro definitions to after the lock ones. Commit: e2c324f7a9d351414e33a0a91d6df8716a61739d https://github.com/Perl/perl5/commit/e2c324f7a9d351414e33a0a91d6df8716a61739d Author: Karl Williamson Date: 2024-04-01 (Mon, 01 Apr 2024) Changed paths: M perl.h Log Message: --- perl.h Move locale mutex 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 this commit moves them to later in the file. Compare: https://github.com/Perl/perl5/compare/a2ad59817f19...e2c324f7a9d3 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 3d63a3: lock
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 3d63a3d7a349d5155a4cb60591ba6436363fe9d6 https://github.com/Perl/perl5/commit/3d63a3d7a349d5155a4cb60591ba6436363fe9d6 Author: Karl Williamson Date: 2024-03-30 (Sat, 30 Mar 2024) Changed paths: M lock_definitions.h M perl.h M reentr.c M regen/lock_definitions.pl M regen/reentr.pl M util.c Log Message: --- lock To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] c11afd: lib/locale.t:
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: c11afdbc91d680645229bf66cc2118a93aa8a8fd https://github.com/Perl/perl5/commit/c11afdbc91d680645229bf66cc2118a93aa8a8fd Author: Karl Williamson Date: 2024-03-27 (Wed, 27 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: 07ffafe2b49e09fdefb43ed6f55af5a5a5e8c4be https://github.com/Perl/perl5/commit/07ffafe2b49e09fdefb43ed6f55af5a5a5e8c4be Author: Karl Williamson Date: 2024-03-27 (Wed, 27 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: f3f418098df0ce6d8083b57c8be668aa4e94a56c https://github.com/Perl/perl5/commit/f3f418098df0ce6d8083b57c8be668aa4e94a56c Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: cddc981158d776aa4590fc18c627c2978bdc7d41 https://github.com/Perl/perl5/commit/cddc981158d776aa4590fc18c627c2978bdc7d41 Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: 5b074092f24434eebc856ad54246b5c74c34931a https://github.com/Perl/perl5/commit/5b074092f24434eebc856ad54246b5c74c34931a Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: fa5bf606ec206af209d7693206b8e8abec6d10d8 https://github.com/Perl/perl5/commit/fa5bf606ec206af209d7693206b8e8abec6d10d8 Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 8a6e9f7268acf519f9a35010dc247e632db0c9ed https://github.com/Perl/perl5/commit/8a6e9f7268acf519f9a35010dc247e632db0c9ed Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M t/porting/bincompat.t Log Message: --- Revert "skip bincompat.t" This reverts commit 559abf36660fef3e16d1cd33dc5aa6ca2202b88c. Commit: 1df2a73705835c2f5f14e1cf47eb62c07d2782cf https://github.com/Perl/perl5/commit/1df2a73705835c2f5f14e1cf47eb62c07d2782cf Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M t/TEST Log Message: --- Skip cpan testing message Commit: d625df97125a6b0cb4c43ef6f09f539b64b7f49d https://github.com/Perl/perl5/commit/d625df97125a6b0cb4c43ef6f09f539b64b7f49d Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M t/TEST Log Message: --- Also skip non-thread dist testing Commit: 5cad8684352dcb48bcc2c75e8da5dc84c9c3cdfb https://github.com/Perl/perl5/commit/5cad8684352dcb48bcc2c75e8da5dc84c9c3cdfb Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: --- XXX skip Archive-Tar because of symlinks Commit: c6a0354b8c85b6141740c9c45b20820b420be02a https://github.com/Perl/perl5/commit/c6a0354b8c85b6141740c9c45b20820b420be02a Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t because of sym links Commit: d91592269db67645281fbadf42ef345d91efcff8 https://github.com/Perl/perl5/commit/d91592269db67645281fbadf42ef345d91efcff8 Author: Karl Williamson Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M cpan/Sys-Syslog/t/syslog-inet-udp.t M cpan/Sys-Syslog/t/syslog.t Log Mes
[Perl/perl5] 041600: lib/locale.t:
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 041600289e553e176266d14e6ec42a19931ac9ae https://github.com/Perl/perl5/commit/041600289e553e176266d14e6ec42a19931ac9ae Author: Karl Williamson Date: 2024-03-25 (Mon, 25 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: 6cb2d20c66c4a1c85457669b5ab237e5e2e5c7b3 https://github.com/Perl/perl5/commit/6cb2d20c66c4a1c85457669b5ab237e5e2e5c7b3 Author: Karl Williamson Date: 2024-03-25 (Mon, 25 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: bc3d94c948dda2eb97d52e891a4311e1373586bd https://github.com/Perl/perl5/commit/bc3d94c948dda2eb97d52e891a4311e1373586bd Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: 354d9763d53a6707bf95cd054f2a3bf5c3c22ebf https://github.com/Perl/perl5/commit/354d9763d53a6707bf95cd054f2a3bf5c3c22ebf Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: 149ed5c5a6204fce50243579b7e766326a2bf671 https://github.com/Perl/perl5/commit/149ed5c5a6204fce50243579b7e766326a2bf671 Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: ae8a636d53976348e100810c5210e4febcd875a2 https://github.com/Perl/perl5/commit/ae8a636d53976348e100810c5210e4febcd875a2 Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 793fcd7642c845d5ad0d4c8ccf9b2668a5ad0727 https://github.com/Perl/perl5/commit/793fcd7642c845d5ad0d4c8ccf9b2668a5ad0727 Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M t/porting/bincompat.t Log Message: --- Revert "skip bincompat.t" This reverts commit 559abf36660fef3e16d1cd33dc5aa6ca2202b88c. Commit: cc07f45f81f4c9102c53c68a23d8762c127408de https://github.com/Perl/perl5/commit/cc07f45f81f4c9102c53c68a23d8762c127408de Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M t/TEST Log Message: --- Skip cpan testing message Commit: 9772026cae3beb80f9dc0c88ce122c47510a9571 https://github.com/Perl/perl5/commit/9772026cae3beb80f9dc0c88ce122c47510a9571 Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M t/TEST Log Message: --- Also skip non-thread dist testing Commit: 6c7671ecf0c9578bfe20672bfa48b0eccf014ab4 https://github.com/Perl/perl5/commit/6c7671ecf0c9578bfe20672bfa48b0eccf014ab4 Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: --- XXX skip Archive-Tar because of symlinks Commit: e69baaa1e3d41b5c43c7ce403488704bd85fed8b https://github.com/Perl/perl5/commit/e69baaa1e3d41b5c43c7ce403488704bd85fed8b Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t because of sym links Commit: 416dd74255eebe271d2242c51db140d4f34c00f2 https://github.com/Perl/perl5/commit/416dd74255eebe271d2242c51db140d4f34c00f2 Author: Karl Williamson Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M cpan/Sys-Syslog/t/syslog-inet-udp.t M cpan/Sys-Syslog/t/syslog.t Log Mes
[Perl/perl5] 2c1e4f: lib/locale.t:
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 2c1e4ff59eec0830bdc40ba8e10040a9e86ef339 https://github.com/Perl/perl5/commit/2c1e4ff59eec0830bdc40ba8e10040a9e86ef339 Author: Karl Williamson Date: 2024-03-21 (Thu, 21 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: 1cdc020324c503b4447fa0c6b10c7b344bf4174c https://github.com/Perl/perl5/commit/1cdc020324c503b4447fa0c6b10c7b344bf4174c Author: Karl Williamson Date: 2024-03-21 (Thu, 21 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: b7d962c73b68ad3456da1c63ecad622fee0ec4ed https://github.com/Perl/perl5/commit/b7d962c73b68ad3456da1c63ecad622fee0ec4ed Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: 07324230b69aa387a6527377931d643ff47fb958 https://github.com/Perl/perl5/commit/07324230b69aa387a6527377931d643ff47fb958 Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: 0519f2de7e462d4e1bc49eef90f8522046f8c9de https://github.com/Perl/perl5/commit/0519f2de7e462d4e1bc49eef90f8522046f8c9de Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: 4e2d805c0c82ef71caffdb27e564267bb33c6b82 https://github.com/Perl/perl5/commit/4e2d805c0c82ef71caffdb27e564267bb33c6b82 Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 789758d3f06b0bfc839b9f8a8a37b25f150c7b1b https://github.com/Perl/perl5/commit/789758d3f06b0bfc839b9f8a8a37b25f150c7b1b Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M t/porting/bincompat.t Log Message: --- Revert "skip bincompat.t" This reverts commit 559abf36660fef3e16d1cd33dc5aa6ca2202b88c. Commit: 0736a5ae59e802de030bc2ab45163bff9508b926 https://github.com/Perl/perl5/commit/0736a5ae59e802de030bc2ab45163bff9508b926 Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M t/TEST Log Message: --- Skip cpan testing message Commit: ad50e157aff320eb213404b49bbfbb574dcf6e43 https://github.com/Perl/perl5/commit/ad50e157aff320eb213404b49bbfbb574dcf6e43 Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M perl.h Log Message: --- runconfigure: only usequery with that directory Commit: 98258eeff8d0f8af3b280e980e8057fc0e5c86a7 https://github.com/Perl/perl5/commit/98258eeff8d0f8af3b280e980e8057fc0e5c86a7 Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M t/TEST Log Message: --- Also skip non-thread dist testing Commit: 693a90bdb97fdb1df67cb2f995f46541dad0e0d1 https://github.com/Perl/perl5/commit/693a90bdb97fdb1df67cb2f995f46541dad0e0d1 Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: --- XXX skip Archive-Tar because of symlinks Commit: 5b36bfd82bb1bad2986e492bb3a8f35677a9630a https://github.com/Perl/perl5/commit/5b36bfd82bb1bad2986e492bb3a8f35677a9630a Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t b
[Perl/perl5] 167b7b: Keep using undocumented gcc locale feature
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 167b7bb18036b7eb9a473b5e644e693edb221340 https://github.com/Perl/perl5/commit/167b7bb18036b7eb9a473b5e644e693edb221340 Author: Karl Williamson Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M locale.c M perl.h Log Message: --- Keep using undocumented gcc locale feature Since 5.39.7, this feature has been enabled experimentally by default. It is similar to querylocale(), found on *BSD systems. That function returns the current locale, and was created because this ability is often required, and POSIX neglected to define anything for this purpose. I'm told that the next POSIX Standard update will include a function for this purpose. I have been using the gcc feature successfully for years in my local work spaces; we started this experiment to see if it worked generally. And there have been zero reports of problems with it. The experiment was designed to refuse to compile in 5.39.10, so as to make sure it didn't slip into 5.40 without it being explicitly decided to do so. Now, the final steps in publishing 5.39.9 include bumping the release to 5.39.10, and those can't be done with the code as-is. This commit declares the experiment a success, and enables this feature non-experimentally as the default, with the ability to turn it off by passing -Accflags=-DNO_USE_NL_LOCALE_NAME to Configure. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 5b4732: Note that __VA_OPT__ is now standardized
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 5b473284d0773521c9bd7ebc35adea4a183e8ad0 https://github.com/Perl/perl5/commit/5b473284d0773521c9bd7ebc35adea4a183e8ad0 Author: Karl Williamson Date: 2024-03-13 (Wed, 13 Mar 2024) Changed paths: M pod/perlhacktips.pod Log Message: --- Note that __VA_OPT__ is now standardized whereas before we said it had never been standardized To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] a8ea39: autodoc.pl: Strip any trailing blanks in output
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: a8ea39937ae8a2fb20e4ab11742cbc6b5cf82e3a https://github.com/Perl/perl5/commit/a8ea39937ae8a2fb20e4ab11742cbc6b5cf82e3a Author: Karl Williamson Date: 2024-03-11 (Mon, 11 Mar 2024) Changed paths: M autodoc.pl Log Message: --- autodoc.pl: Strip any trailing blanks in output Commit: dc0509e13cd6fb3e8870d63b7350025a8ba593f8 https://github.com/Perl/perl5/commit/dc0509e13cd6fb3e8870d63b7350025a8ba593f8 Author: Karl Williamson Date: 2024-03-11 (Mon, 11 Mar 2024) Changed paths: M autodoc.pl M regen/regen_lib.pl Log Message: --- Move sub from autodoc.pl to regen_lib.pl This allows this columnar formatting to be usable by other regen scripts. Compare: https://github.com/Perl/perl5/compare/8ba4821755e5...dc0509e13cd6 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 8ba482: locale_threads.t: Reenable DragonFly testing
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 8ba4821755e558c4c3e9092fc126a958eeef99a4 https://github.com/Perl/perl5/commit/8ba4821755e558c4c3e9092fc126a958eeef99a4 Author: Karl Williamson Date: 2024-03-11 (Mon, 11 Mar 2024) Changed paths: M lib/locale_threads.t Log Message: --- locale_threads.t: Reenable DragonFly testing This was instituted by 1d74e8214dd53cf0fa9e8c5aab3e6187685eadcd, but ae3e9dd0b31e37357f00d0a83f0b3f4a2713f420 should have fixed this. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 3813d3: lib/locale.t:
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 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 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 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 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 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 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 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 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 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 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 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 Date: 2024-03-09 (Sat, 09 Mar 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t b
[Perl/perl5] f9e60a: mktables: Fix indentation on a line
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: f9e60abaf34ea14f01b2d4283245cc80892b2420 https://github.com/Perl/perl5/commit/f9e60abaf34ea14f01b2d4283245cc80892b2420 Author: Karl Williamson Date: 2024-03-07 (Thu, 07 Mar 2024) Changed paths: M charclass_invlists.h M lib/unicore/mktables M lib/unicore/uni_keywords.pl M regcharclass.h M uni_keywords.h Log Message: --- mktables: Fix indentation on a line Commit: 79944a7633a57f74dcc5d0b565c268ca9bf54cc1 https://github.com/Perl/perl5/commit/79944a7633a57f74dcc5d0b565c268ca9bf54cc1 Author: Karl Williamson Date: 2024-03-07 (Thu, 07 Mar 2024) Changed paths: M regen/reentr.pl Log Message: --- regen/reentr.pl: Remove duplicate line Only need to set a hash entry once to the same value Compare: https://github.com/Perl/perl5/compare/9213b22726ee...79944a7633a5 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 2f74b6: perl.h: Remove redundant preprocessor directive
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 2f74b669c300e3b7241c0f3d668729780f7085f4 https://github.com/Perl/perl5/commit/2f74b669c300e3b7241c0f3d668729780f7085f4 Author: Karl Williamson Date: 2024-03-03 (Sun, 03 Mar 2024) Changed paths: M perl.h Log Message: --- perl.h: Remove redundant preprocessor directive We already know we are in threads here; simplify by not testing again To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 39903e: Lock ENV mutex while changing the environment
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 39903e82c49485e56b0e071534bf7de164c16a4d https://github.com/Perl/perl5/commit/39903e82c49485e56b0e071534bf7de164c16a4d Author: Karl Williamson Date: 2024-02-28 (Wed, 28 Feb 2024) Changed paths: M util.c Log Message: --- Lock ENV mutex while changing the environment The comments here read: /* only the parent thread can clobber the process environment, so no need * to use a mutex */ But this isn't true. What is true about it is that only one thread can change the environment. But the POSIX Standard explicitly states (in section 2.9.1): "Since multi-threaded applications are not allowed to use the environ variable to access or modify any environment variable while any other thread is concurrently modifying any environment variable, any function dependent on any environment variable is not thread-safe if another thread is modifying the environment" In other words, the results are undefined if a thread is trying to read the environment while another thread is modifying it. Thus we need a write lock when performing these operations. Threads merely reading the environment can use a read lock. Some code already uses one; future commits will fix others to do so. Since I'm unaware of any tickets involving this, I infer that it is rare for a process to change the environment once initialization is done, and/or we have heisenbugs which turn out to have been caused by this. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] da6fa4: regen/reentr.pl: Use hash instead of code conditio...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: da6fa4ecf03faad13ad2647326e3c2d8d8b9e350 https://github.com/Perl/perl5/commit/da6fa4ecf03faad13ad2647326e3c2d8d8b9e350 Author: Karl Williamson Date: 2024-02-28 (Wed, 28 Feb 2024) Changed paths: M regen/reentr.pl Log Message: --- regen/reentr.pl: Use hash instead of code conditionals Fill this hash with the buffer sizes instead of using conditionals in the code to do so. This is in preparation for more variance in the sizes, which would otherwise increase the number of conditionals Commit: 1ad05b3711084e801b8a9ab53ff4675bd3bdacd3 https://github.com/Perl/perl5/commit/1ad05b3711084e801b8a9ab53ff4675bd3bdacd3 Author: Karl Williamson Date: 2024-02-28 (Wed, 28 Feb 2024) Changed paths: M reentr.c M regen/reentr.pl Log Message: --- reentr.pl: Increase strerror_r buffer size We have seen cases where a libc strerror() buffer size of 80 is not enough. See https://github.com/Perl/perl5/issues/21992. One might think our current size for strerror_r() of 256 would handle any situation, but in looking around for this, I saw that glibc bothers to document that theirs is 1024. So this commit bumps it to that. Commit: b4d8118cfebee8a0d4f2548a9c563204938fa860 https://github.com/Perl/perl5/commit/b4d8118cfebee8a0d4f2548a9c563204938fa860 Author: Karl Williamson Date: 2024-02-28 (Wed, 28 Feb 2024) Changed paths: M regen/reentr.pl Log Message: --- regen/reentr.pl: Update comments Commit: df145d8b760d564b45e6514fe8a6d78af46fb01d https://github.com/Perl/perl5/commit/df145d8b760d564b45e6514fe8a6d78af46fb01d Author: Karl Williamson Date: 2024-02-28 (Wed, 28 Feb 2024) Changed paths: M reentr.c M reentr.h M regen/reentr.pl Log Message: --- regen/reentr.pl: Update copyright year Commit: ce559cb3046e1d75c6e97bfb75caca98a3f8f686 https://github.com/Perl/perl5/commit/ce559cb3046e1d75c6e97bfb75caca98a3f8f686 Author: Karl Williamson Date: 2024-02-28 (Wed, 28 Feb 2024) Changed paths: M reentr.h M regen/reentr.pl Log Message: --- regen/reentr.pl: White-space, comment Compare: https://github.com/Perl/perl5/compare/01fa93ac353e...ce559cb3046e To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 01fa93: perl.h: Use ENV mutex even without locales
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 01fa93ac353e1c48e665d9ec7559ce77f9a33155 https://github.com/Perl/perl5/commit/01fa93ac353e1c48e665d9ec7559ce77f9a33155 Author: Karl Williamson Date: 2024-02-28 (Wed, 28 Feb 2024) Changed paths: M perl.h Log Message: --- perl.h: Use ENV mutex even without locales I think this was a typo, which our testing never encountered issues with, since this is only triggered on a system without locales; which are extremely rare Locking the mutex to prevent simultaneous writes to the environment should be independent of if we are using locales on the system. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 923395: regen/regen_lib.pl: Stop compile time warning
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 9233950dc7fe48f3657cb9c91dc1ef51bb38550b https://github.com/Perl/perl5/commit/9233950dc7fe48f3657cb9c91dc1ef51bb38550b Author: Karl Williamson Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M regen/regen_lib.pl Log Message: --- regen/regen_lib.pl: Stop compile time warning This suppresses the warning about negative repeat counts To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 571998: STRFTIME_LOCK needs an unchanging locale
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 57199857b7f5d213e48ac45fd12090897ff527d1 https://github.com/Perl/perl5/commit/57199857b7f5d213e48ac45fd12090897ff527d1 Author: Karl Williamson Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M perl.h Log Message: --- STRFTIME_LOCK needs an unchanging locale So, the locale must be locked from being written to as well as the environment. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 4110b0: Automatically regenerate locale_table.h
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 4110b0cc3f9162c7bd750c4d13635699a6677579 https://github.com/Perl/perl5/commit/4110b0cc3f9162c7bd750c4d13635699a6677579 Author: Karl Williamson Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M MANIFEST M Makefile.SH M locale_table.h M regen.pl A regen/locale.pl M t/porting/regen.t Log Message: --- Automatically regenerate locale_table.h I got tired of editing each entry when something new comes along. Doing this opens up new possibilities of simplification, but this commit tries to keep the generated header as close to the original as possible. Commit: 42e9f419081bafc0e8acbe096abd1dd755cb961c https://github.com/Perl/perl5/commit/42e9f419081bafc0e8acbe096abd1dd755cb961c Author: Karl Williamson Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M locale_table.h M regen/locale.pl Log Message: --- locale_header.h: Add explicit #define The previous commit made this a generated file. Prior to this commit one #define was omitted because it would be interpreted as 0 anyway, and it was a pain to add to each of the entries. But now, it is easy to add, and tends to be clearer to have an explicit #define. Compare: https://github.com/Perl/perl5/compare/975f9cc38365...42e9f419081b To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] b4915e: perl.h: Use Perl_croak() instead of more specific ...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: b4915ed1b0cd58c2662234f6215102dc4c07920e https://github.com/Perl/perl5/commit/b4915ed1b0cd58c2662234f6215102dc4c07920e Author: Karl Williamson Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M perl.h Log Message: --- perl.h: Use Perl_croak() instead of more specific panic Instead of using locale_panic_(), which is applicable for locales, use the more generic Perl_croak(). This is in preparation for a future commit that will use this code in other situations Commit: 975f9cc3836593a52298732721ba6c5294271d43 https://github.com/Perl/perl5/commit/975f9cc3836593a52298732721ba6c5294271d43 Author: Karl Williamson Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M perl.h Log Message: --- perl.h: Create generic reentrant locks functions Prior to this commit, the only mutex that could be a reentrant lock was the locale mutex. This commit extracts the code that does that so that other mutexes can easily be made reentrant as well. Compare: https://github.com/Perl/perl5/compare/6fe8ec7fe224...975f9cc38365 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 6fe8ec: locale.c: Look for strict UTF-8, not loose
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 6fe8ec7fe2240308463347a0ba20fdaa8b31c560 https://github.com/Perl/perl5/commit/6fe8ec7fe2240308463347a0ba20fdaa8b31c560 Author: Karl Williamson Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Look for strict UTF-8, not loose This is a small thing, but in reading the code, I realized that we are dealing with libc functions here; they don't traffic in Perl extensions nor esoteric code points. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 805762: locale.c: Avoid unnecessary locale recalculation
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 805762a25116e8ef4ebf69e6e77387c750a224e0 https://github.com/Perl/perl5/commit/805762a25116e8ef4ebf69e6e77387c750a224e0 Author: Karl Williamson Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Avoid unnecessary locale recalculation In these functions, we already know the locale, so pass it to the called function instead of NULL, so that that function won't have to recalculate it. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] d802c7: perl.h: Move code to later in file
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: d802c7e194b8f37cd7a35fda1b9009a69f7ef423 https://github.com/Perl/perl5/commit/d802c7e194b8f37cd7a35fda1b9009a69f7ef423 Author: Karl Williamson Date: 2024-02-27 (Tue, 27 Feb 2024) Changed paths: M perl.h Log Message: --- perl.h: Move code to later in file This moves the portion of the code dealing with toggling LC_NUMERIC to after the portion dealing with the locale and environment mutexes; thus making those related pieces adjacent. The diff listing however shows that env mutex code being moved, due to the 'diff' algorithm. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 0bec5c: cpan/Compress-Raw-Bzip2 - Update to version 2.210
https://github.com/Perl/perl5/commit/b07cb93233bb4392c5366e5dcbd0f7b22e3b0c3b Author: Paul Marquess Date: 2024-02-26 (Mon, 26 Feb 2024) Changed paths: M Porting/Maintainers.pl M cpan/Compress-Raw-Zlib/Zlib.xs M cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm M cpan/Compress-Raw-Zlib/zlib-src/zconf.h Log Message: --- cpan/Compress-Raw-Zlib - Update to version 2.209 2.209 26 February 2024 * version 2.209 Mon Feb 26 15:54:39 2024 + b8c062949b7e89a2f1643825f6b66f79b2ba3b68 * #31 Fix build failure with "c++-compat" warnings Mon Feb 26 15:20:07 2024 + d9af6f896accf755fa1ef486cf128fdf66314213 Commit: c555c469bc3ee5ef5d5ba53f20faa63a006819ce https://github.com/Perl/perl5/commit/c555c469bc3ee5ef5d5ba53f20faa63a006819ce Author: Karl Williamson Date: 2024-02-26 (Mon, 26 Feb 2024) Changed paths: M Porting/Maintainers.pl M cpan/Compress-Raw-Bzip2/Makefile.PL M cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm M cpan/Compress-Raw-Bzip2/private/MakeUtil.pm M cpan/Compress-Raw-Bzip2/t/000prereq.t M cpan/Compress-Raw-Bzip2/t/01bzip2.t M cpan/Compress-Raw-Bzip2/t/19nonpv.t M cpan/Compress-Raw-Zlib/Zlib.xs M cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm M cpan/Compress-Raw-Zlib/zlib-src/zconf.h M cpan/IO-Compress/Makefile.PL M cpan/IO-Compress/bin/streamzip M cpan/IO-Compress/bin/zipdetails M cpan/IO-Compress/lib/Compress/Zlib.pm M cpan/IO-Compress/lib/File/GlobMapper.pm M cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm M cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm M cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm M cpan/IO-Compress/lib/IO/Compress/Base.pm M cpan/IO-Compress/lib/IO/Compress/Base/Common.pm M cpan/IO-Compress/lib/IO/Compress/Bzip2.pm M cpan/IO-Compress/lib/IO/Compress/Deflate.pm M cpan/IO-Compress/lib/IO/Compress/FAQ.pod M cpan/IO-Compress/lib/IO/Compress/Gzip.pm M cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm M cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm M cpan/IO-Compress/lib/IO/Compress/Zip.pm M cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm M cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm M cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm M cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm M cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm M cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm M cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm M cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm M cpan/IO-Compress/lib/IO/Uncompress/Base.pm M cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm M cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm M cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm M cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm M cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm M cpan/IO-Compress/t/001bzip2.t M cpan/IO-Compress/t/002any-transparent.t M cpan/IO-Compress/t/004gziphdr.t M cpan/IO-Compress/t/005defhdr.t M cpan/IO-Compress/t/006zip.t M cpan/IO-Compress/t/011-streamzip.t M cpan/IO-Compress/t/01misc.t M cpan/IO-Compress/t/020isize.t M cpan/IO-Compress/t/050interop-gzip.t M cpan/IO-Compress/t/101truncate-bzip2.t M cpan/IO-Compress/t/101truncate-deflate.t M cpan/IO-Compress/t/101truncate-gzip.t M cpan/IO-Compress/t/101truncate-rawdeflate.t M cpan/IO-Compress/t/101truncate-zip.t M cpan/IO-Compress/t/105oneshot-gzip-only.t M cpan/IO-Compress/t/105oneshot-zip-bzip2-only.t M cpan/IO-Compress/t/105oneshot-zip-only.t M cpan/IO-Compress/t/105oneshot-zip-store-only.t M cpan/IO-Compress/t/107multi-zip-only.t M cpan/IO-Compress/t/108anyunc-transparent.t M cpan/IO-Compress/t/111const-deflate.t M cpan/IO-Compress/t/112utf8-zip.t M cpan/IO-Compress/t/113issues.t M cpan/IO-Compress/t/compress/any.pl M cpan/IO-Compress/t/compress/anyunc.pl M cpan/IO-Compress/t/compress/destroy.pl M cpan/IO-Compress/t/compress/encode.pl M cpan/IO-Compress/t/compress/generic.pl M cpan/IO-Compress/t/compress/merge.pl M cpan/IO-Compress/t/compress/multi.pl M cpan/IO-Compress/t/compress/newtied.pl M cpan/IO-Compress/t/compress/oneshot.pl M cpan/IO-Compress/t/compress/prime.pl M cpan/IO-Compress/t/compress/tied.pl M cpan/IO-Compress/t/compress/zlib-generic.pl M cpan/IO-Compress/t/cz-01version.t M cpan/IO-Compress/t/cz-03zlib-v1.t M cpan/IO-Compress/t/cz-06gzsetp.t M cpan/IO-Compress/t/cz-08encoding.t M cpan/IO-Compress/t/cz-14gzopen.t M cpan/IO-Compress/t/globmapper.t Log Message: --- Merge branch 'blead' into davem/tie-file-tmpdir Compare: https://github.com/Perl/perl5/compare/ada486377b7b...c555c469bc3e To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] f4c402: perlintern: Fix misspelling
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: f4c40281d5eb838e23b8179edd9d4e352f8bb14d https://github.com/Perl/perl5/commit/f4c40281d5eb838e23b8179edd9d4e352f8bb14d Author: Karl Williamson Date: 2024-02-25 (Sun, 25 Feb 2024) Changed paths: M scope.c Log Message: --- perlintern: Fix misspelling To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 3eb347: lib/locale.t:
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 3eb3477364345b47c02d88feef7454b554d3706a https://github.com/Perl/perl5/commit/3eb3477364345b47c02d88feef7454b554d3706a Author: Karl Williamson Date: 2024-02-22 (Thu, 22 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: ef5894ec8590455b10be5c4e0210232047219c51 https://github.com/Perl/perl5/commit/ef5894ec8590455b10be5c4e0210232047219c51 Author: Karl Williamson Date: 2024-02-22 (Thu, 22 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: 43993c24a0bf54ce6e28230f8a7ade4ad2861c2a https://github.com/Perl/perl5/commit/43993c24a0bf54ce6e28230f8a7ade4ad2861c2a Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: 94f0435af2cd21c111f2e74e57c30c604a669f36 https://github.com/Perl/perl5/commit/94f0435af2cd21c111f2e74e57c30c604a669f36 Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: b73132bd0a2eca32668fc2b7b137a92698d295b6 https://github.com/Perl/perl5/commit/b73132bd0a2eca32668fc2b7b137a92698d295b6 Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: 59bb8bff87a7ddda366282bc171608a76b8b49e6 https://github.com/Perl/perl5/commit/59bb8bff87a7ddda366282bc171608a76b8b49e6 Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 69e3c5a52fcdc7051220ab14202c267a35136e35 https://github.com/Perl/perl5/commit/69e3c5a52fcdc7051220ab14202c267a35136e35 Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M t/porting/bincompat.t Log Message: --- Revert "skip bincompat.t" This reverts commit 559abf36660fef3e16d1cd33dc5aa6ca2202b88c. Commit: 8b8452c74702bca19db4622402e11dbf2c0237b4 https://github.com/Perl/perl5/commit/8b8452c74702bca19db4622402e11dbf2c0237b4 Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M t/TEST Log Message: --- Skip cpan testing message Commit: b50b199261044ec7b5f9430c603ead9e5e6553af https://github.com/Perl/perl5/commit/b50b199261044ec7b5f9430c603ead9e5e6553af Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M perl.h Log Message: --- runconfigure: only usequery with that directory Commit: 7d10512d40091b9510acde916698924a26ff77a7 https://github.com/Perl/perl5/commit/7d10512d40091b9510acde916698924a26ff77a7 Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M t/TEST Log Message: --- Also skip non-thread dist testing Commit: 4af12bc3793632551711ab3f8d35662fb9ab1c28 https://github.com/Perl/perl5/commit/4af12bc3793632551711ab3f8d35662fb9ab1c28 Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: --- XXX skip Archive-Tar because of symlinks Commit: c8e1f815ae29360c682a0b2bdcde57653b5b6c08 https://github.com/Perl/perl5/commit/c8e1f815ae29360c682a0b2bdcde57653b5b6c08 Author: Karl Williamson Date: 2024-02-22 (Thu, 22 Feb 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t b
[Perl/perl5] 0a94c4: Revert "S_find_locale_from_environment: Handle dis...
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 0a94c442dec7687c98b4073d823e5816ca047c31 https://github.com/Perl/perl5/commit/0a94c442dec7687c98b4073d823e5816ca047c31 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 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: 3f64593f62241e4c04b6a5988627682fd03a8254 https://github.com/Perl/perl5/commit/3f64593f62241e4c04b6a5988627682fd03a8254 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M t/run/locale.t Log Message: --- Revert "t/run/locale.t: Add test" This reverts commit 28b41f6baf95fe40466e5ee3e349550c7c4e85ee. Compare: https://github.com/Perl/perl5/compare/f3634657d37c...3f64593f6224 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 664573: Silence inconsequential warnings in win32/perlhost.h.
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 664573799bb539f232b72c810e4c74c78d9a8327 https://github.com/Perl/perl5/commit/664573799bb539f232b72c810e4c74c78d9a8327 Author: sisyphus Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M win32/perlhost.h Log Message: --- Silence inconsequential warnings in win32/perlhost.h. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 69d296: lib/locale.t:
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 69d296d8d045bffd8238c1326449c48886889346 https://github.com/Perl/perl5/commit/69d296d8d045bffd8238c1326449c48886889346 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 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: 99df0f4f1df4a26b66db7788ad37136ddfba6517 https://github.com/Perl/perl5/commit/99df0f4f1df4a26b66db7788ad37136ddfba6517 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 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: 07175b9133124001b72139ae1b491e62b093ba7a https://github.com/Perl/perl5/commit/07175b9133124001b72139ae1b491e62b093ba7a Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: 50c59359017dde85d1b133c5ed46560e1cb7a6c6 https://github.com/Perl/perl5/commit/50c59359017dde85d1b133c5ed46560e1cb7a6c6 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: a140a1aaa6b761185331d4ca7026bbf0dcdff16b https://github.com/Perl/perl5/commit/a140a1aaa6b761185331d4ca7026bbf0dcdff16b Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: d01160da7355fc2c98b9c0a0c78e4695a048d9c0 https://github.com/Perl/perl5/commit/d01160da7355fc2c98b9c0a0c78e4695a048d9c0 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 0a737c41a2f4e8d05d88660e24aa12cbff5b903f https://github.com/Perl/perl5/commit/0a737c41a2f4e8d05d88660e24aa12cbff5b903f Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M t/porting/bincompat.t Log Message: --- Revert "skip bincompat.t" This reverts commit 559abf36660fef3e16d1cd33dc5aa6ca2202b88c. Commit: 840d4eab304f4b7f790b751f48fab5a01671245c https://github.com/Perl/perl5/commit/840d4eab304f4b7f790b751f48fab5a01671245c Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M t/TEST Log Message: --- Skip cpan testing message Commit: dcdfbd8fe35a23bfa1933cab1a8caf70bbcaecf5 https://github.com/Perl/perl5/commit/dcdfbd8fe35a23bfa1933cab1a8caf70bbcaecf5 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M perl.h Log Message: --- runconfigure: only usequery with that directory Commit: d5f0736ee2076ddb0b07af9fbb797a0dc4f26afb https://github.com/Perl/perl5/commit/d5f0736ee2076ddb0b07af9fbb797a0dc4f26afb Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M t/TEST Log Message: --- Also skip non-thread dist testing Commit: 09f68e1a769095557e39d310fa85990f683da525 https://github.com/Perl/perl5/commit/09f68e1a769095557e39d310fa85990f683da525 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: --- XXX skip Archive-Tar because of symlinks Commit: b7e147e4fcc652718f726e21c974fade5bf1e101 https://github.com/Perl/perl5/commit/b7e147e4fcc652718f726e21c974fade5bf1e101 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t b
[Perl/perl5] 4c5d32: locale.c: Don't compile ALT_DIGITS code if not rea...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 4c5d32abd8f355904f47ba4b462a39ae57f560fc https://github.com/Perl/perl5/commit/4c5d32abd8f355904f47ba4b462a39ae57f560fc Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Don't compile ALT_DIGITS code if not reached We know in some cases that a platform won't ever execute the code to compute ALT_DIGITS. Windows and OpenBSD are two examples. Windows because it doesn't support the strftime() %O modifier; OpenBSD because the LC_TIME locale can only ever be C, which has no ALT_DIGITS. In such cases, we can skip compiling the ALT_DIGIT code. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 819c46: locale.c,perl.c: Clean up MULTIPLICITY vs USE_THREADS
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 819c46dc1a9aa3dc49364b96096e67170ef1c947 https://github.com/Perl/perl5/commit/819c46dc1a9aa3dc49364b96096e67170ef1c947 Author: Karl Williamson Date: 2024-02-19 (Mon, 19 Feb 2024) Changed paths: M locale.c M perl.c Log Message: --- locale.c,perl.c: Clean up MULTIPLICITY vs USE_THREADS I believe I finally understand the difference between these, and this commit is the result. Under MULTIPLICITY, for locale.c, it: 1) Updates comments to reflect reality 2) displays the aTHX in DEBUGGING statements. 3) Uses reentrant mbrtowc vs non-reentrant mbtowc Under multiplicity, for perl.c, it avoids a leak. PL_cur_locale_obj is created whenever there is MULTIPLICITY, not just when threaded, so needs to be destroyed whenever MULTIPLICITY. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] a1af65: locale.c: Add missing semi-colon after statement
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: a1af65b9a8c729f85832cb52d980644b184808e8 https://github.com/Perl/perl5/commit/a1af65b9a8c729f85832cb52d980644b184808e8 Author: Karl Williamson Date: 2024-02-18 (Sun, 18 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Add missing semi-colon after statement To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] d8a000: Fix warning in run/locale.t
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: d8a0004d9e4c079449dff3e78306b2cd5252c405 https://github.com/Perl/perl5/commit/d8a0004d9e4c079449dff3e78306b2cd5252c405 Author: Karl Williamson Date: 2024-02-18 (Sun, 18 Feb 2024) Changed paths: M t/run/locale.t Log Message: --- Fix warning in run/locale.t A test in this file checks that garbage in the environment is properly handled. But some shells (notably bash) warn when LC_ALL is set to a non-existent locale. This commit avoids using a shell to do the setting up of the environment. This was spotted by Dave Mitchell who also provided the outlines of the fix. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 48d447: locale.c: Don't compile thread functions unless th...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 48d447bd2de44c2551f85c61439229475688a348 https://github.com/Perl/perl5/commit/48d447bd2de44c2551f85c61439229475688a348 Author: Karl Williamson Date: 2024-02-18 (Sun, 18 Feb 2024) Changed paths: M embed.fnc M embed.h M locale.c M proto.h Log Message: --- locale.c: Don't compile thread functions unless threaded These functions are called only from threads.xs under USE_THREADS; omit them otherwise. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] e0831f: lib/locale.t:
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: e0831f74d99579a0af38c915caaeee8fd06eb492 https://github.com/Perl/perl5/commit/e0831f74d99579a0af38c915caaeee8fd06eb492 Author: Karl Williamson Date: 2024-02-17 (Sat, 17 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: d61f32415444dd1b4064ba8ad5a92eab19c3936f https://github.com/Perl/perl5/commit/d61f32415444dd1b4064ba8ad5a92eab19c3936f Author: Karl Williamson Date: 2024-02-17 (Sat, 17 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: f3a7ba0b2716049ac3fd4cb873e88093e612031f https://github.com/Perl/perl5/commit/f3a7ba0b2716049ac3fd4cb873e88093e612031f Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: 93ceb2f9b5a18138e8a655a176e3612cbfb94a47 https://github.com/Perl/perl5/commit/93ceb2f9b5a18138e8a655a176e3612cbfb94a47 Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: b4da5df919feae3546e9d6bbed072fb93ca8d1cc https://github.com/Perl/perl5/commit/b4da5df919feae3546e9d6bbed072fb93ca8d1cc Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: 7027b1b846e014ca515f9b16f4c4a58814abcf9b https://github.com/Perl/perl5/commit/7027b1b846e014ca515f9b16f4c4a58814abcf9b Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 5ea543706bf615a8d54ac991c56255f13b46356b https://github.com/Perl/perl5/commit/5ea543706bf615a8d54ac991c56255f13b46356b Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M t/porting/bincompat.t Log Message: --- Revert "skip bincompat.t" This reverts commit 559abf36660fef3e16d1cd33dc5aa6ca2202b88c. Commit: 19596fe48f650094df25b1a7c7dfe1eccfd0e950 https://github.com/Perl/perl5/commit/19596fe48f650094df25b1a7c7dfe1eccfd0e950 Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M t/TEST Log Message: --- Skip cpan testing message Commit: 9a71b6d6beff07a52d43cdf19739e788779deaae https://github.com/Perl/perl5/commit/9a71b6d6beff07a52d43cdf19739e788779deaae Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M perl.h Log Message: --- runconfigure: only usequery with that directory Commit: d5c705a54a37e4ceee8c4d6e06ea2917c0c2573d https://github.com/Perl/perl5/commit/d5c705a54a37e4ceee8c4d6e06ea2917c0c2573d Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M t/TEST Log Message: --- Also skip non-thread dist testing Commit: 5303b6be523424d4974b90c7cb21aa48f6493798 https://github.com/Perl/perl5/commit/5303b6be523424d4974b90c7cb21aa48f6493798 Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: --- XXX skip Archive-Tar because of symlinks Commit: 9fd9f8001b9d0a8748059ecdcd9a431fb59afb5e https://github.com/Perl/perl5/commit/9fd9f8001b9d0a8748059ecdcd9a431fb59afb5e Author: Karl Williamson Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t b
[Perl/perl5] 06bf45: t/run/locale.t: Skip tests if no LC_CTYPE available
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 06bf45d217b8026a2d8945093b4ab978b6da279d https://github.com/Perl/perl5/commit/06bf45d217b8026a2d8945093b4ab978b6da279d Author: Karl Williamson Date: 2024-02-16 (Fri, 16 Feb 2024) Changed paths: M t/run/locale.t Log Message: --- t/run/locale.t: Skip tests if no LC_CTYPE available This is very unlikely, but it's trivial to handle the case Commit: dd6b98ab15eb6e332134aeac02167453f25f6ae0 https://github.com/Perl/perl5/commit/dd6b98ab15eb6e332134aeac02167453f25f6ae0 Author: Karl Williamson Date: 2024-02-16 (Fri, 16 Feb 2024) Changed paths: M t/run/locale.t Log Message: --- t/run/locale.t: Tests only care about LC_NUMERIC Prior to this commit we were looking for the intersection of locales also with LC_ALL and LC_CTYPE, but the tests are all for LC_NUMERIC, so look just for that. Some tests do also include LC_ALL, given that we plan to stop supporting platforms that don't have that, and there may not be any actual such ones that exist, I don't see any reason to specially handle it. Commit: 0b479b4e4f0d72a6846630a9ce34543c75b4d515 https://github.com/Perl/perl5/commit/0b479b4e4f0d72a6846630a9ce34543c75b4d515 Author: Karl Williamson Date: 2024-02-16 (Fri, 16 Feb 2024) Changed paths: M t/run/locale.t Log Message: --- run/locale.t: Skip tests on positional LC_ALL syntax boxes The syntax of LC_ALL when not all categories have the same locale varies depending on the platform. These tests are meaningless on platforms where the syntax isn't name=value pairs (hence must be positional), and now there is a Configure probe that tells us which syntax it is. Commit: 0054aed7fa9b91872336192cc92d8fc2b6e9c511 https://github.com/Perl/perl5/commit/0054aed7fa9b91872336192cc92d8fc2b6e9c511 Author: Karl Williamson Date: 2024-02-16 (Fri, 16 Feb 2024) Changed paths: M t/run/locale.t Log Message: --- t/run/locale.t: Improve comment Compare: https://github.com/Perl/perl5/compare/cd2a47ced7df...0054aed7fa9b To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] cd2a47: lib/locale.t: Try LC_CTYPE before LC_ALL
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: cd2a47ced7df706c27328718535e6b4498801cab https://github.com/Perl/perl5/commit/cd2a47ced7df706c27328718535e6b4498801cab Author: Karl Williamson Date: 2024-02-16 (Fri, 16 Feb 2024) Changed paths: M lib/locale.t Log Message: --- lib/locale.t: Try LC_CTYPE before LC_ALL Prior to this commit, locales were found looking for both LC_ALL and LC_CTYPE. What we really want is LC_CTYPE, and LC_ALL is a fallback. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] e5ec95: ext/I18N::Langinfo/Langinfo.t: Make more general
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: e5ec9552e339f70b7893f22536ab6e3e219d74f1 https://github.com/Perl/perl5/commit/e5ec9552e339f70b7893f22536ab6e3e219d74f1 Author: Karl Williamson Date: 2024-02-16 (Fri, 16 Feb 2024) Changed paths: M ext/I18N-Langinfo/t/Langinfo.t Log Message: --- ext/I18N::Langinfo/Langinfo.t: Make more general Prior to this commit, the candidate locales to test were the ones that were available in both LC_NUMERIC and LC_MONETARY. For platforms that have one of those categories restricted, this resulted in the other category not being tested fully. Now the available locales for each category are determined independently. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] bf417a: locale.c: Remove duplication in macro definitions
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: bf417a015914f5ff9c4d42e765c9488bbd4637e7 https://github.com/Perl/perl5/commit/bf417a015914f5ff9c4d42e765c9488bbd4637e7 Author: Karl Williamson Date: 2024-02-16 (Fri, 16 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Remove duplication in macro definitions Because of the vagaries of locale handling on various platforms, there are three separate implementations in this file of locale interactions with libc. These have been designed to present a common API to higher level code, and it turns out that each implementation can be completely defined by just two macros. These macros present almost the same interface to the caller, but have very different expansions. The interface to the caller varies only by the parameter type. If this were C++, there would be two method names, and the compiler would decide which version to call depending on the parameter type. But it is plain C, and so there are three different versions of each of the two macros, with suffixes in the names indicating the parameter type. There are also three other derivaties of one of the macros. Before this commit this underlying simplicity was obscured by each implementation defining all 9 of its macros. But it only has to define the two, and common code later can define the 7 derivative ones. Some of the implementations call libc functions that take a locale category number; others call functions that use an index into an array. For efficiency, each implementation defines the macro that interfaces most naturally with its called functions. Thus there are two variations of the common derived macros, defining them in terms of the macro form the implementation defined. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
[Perl/perl5] 72037d: t/loc_tools: Don't return duplicates
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 72037da85136f154d449810d4f3dc86919be5b4b https://github.com/Perl/perl5/commit/72037da85136f154d449810d4f3dc86919be5b4b Author: Karl Williamson Date: 2024-02-15 (Thu, 15 Feb 2024) Changed paths: M t/loc_tools.pl Log Message: --- t/loc_tools: Don't return duplicates Make sure the return of find_locales() (and hence any internal subs that call it) has no repeated locale names.
[Perl/perl5] 7cced8: locale mutexes: Win32 are general without simulating
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 7cced8b4b0731e40618d02bddf3a2ca1601f71e7 https://github.com/Perl/perl5/commit/7cced8b4b0731e40618d02bddf3a2ca1601f71e7 Author: Karl Williamson Date: 2024-02-15 (Thu, 15 Feb 2024) Changed paths: M perl.h Log Message: --- locale mutexes: Win32 are general without simulating We can get rid of the simulation needed for other platforms.
[Perl/perl5] cdd7c5: locale.c: Swap the order of two functions
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: cdd7c53423dcf955fb42855aa016fda9d31eac6a https://github.com/Perl/perl5/commit/cdd7c53423dcf955fb42855aa016fda9d31eac6a Author: Karl Williamson Date: 2024-02-15 (Thu, 15 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: 48e13c73f8ef9673271e1fbf897f63d3015082be https://github.com/Perl/perl5/commit/48e13c73f8ef9673271e1fbf897f63d3015082be Author: Karl Williamson Date: 2024-02-15 (Thu, 15 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 This will allow a future commit to reduce the amount of time spent in a critical section. It requires the least duplication of code for this commit to create a new function sv_strftime_common() which takes over the bulk of the code from sv_strftime_tm(), which becomes just a small wrapper. The new function adds a 'locale' parameter, and the other functions that now need to know the locale get it, and then call this new function. Commit: 21c86441f401ad5bf84e6df10e39c5ab251a9e32 https://github.com/Perl/perl5/commit/21c86441f401ad5bf84e6df10e39c5ab251a9e32 Author: Karl Williamson Date: 2024-02-15 (Thu, 15 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Shorten critical section times Toggling a category's locale has a cost, so if there are a bunch of operations that are going to be done in a row in a particular toggled state, it makes sense to toggle once, do them all, then toggle back. Most of the toggling in this file is short term, but there are a few places where it is advantageous to toggle once. But on some Configurations, toggling creates a critical, uninterruptible section. For these, keeping the amount of time spent in such a state without letting other threads execute needs to be as short as feasible, and this outweighs the cost of toggling and retoggling. This commit balances these competing needs by creating new macros for those cases where we want to have an overarching toggle. Those macros become no-ops when the toggling creates an uninterruptible section. Thus, when there is a cost to remaining toggled for longer periods, those macros don't do anything, and the macros that are at the point of the actual need are the ones that do the toggling/retoggling. In the Configurations where there isn't such a cost, the overarching macros kick in, and the shorter-term ones find that the state is already toggled, and they return without doing anything. Compare: https://github.com/Perl/perl5/compare/b0e1190490d1...21c86441f401
[Perl/perl5] b0e119: locale.c: Reorder a few functions
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: b0e1190490d1d667ff44bf035311136ad3799769 https://github.com/Perl/perl5/commit/b0e1190490d1d667ff44bf035311136ad3799769 Author: Karl Williamson Date: 2024-02-15 (Thu, 15 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Reorder a few functions This file is mostly organized by closely related functions being grouped together. This commit moves a few outliers.
[Perl/perl5] 533560: locale.c: Move unnecessary work out of toggled state
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 5335601b6b6a88f5244d09fd2c1e531a1918ec12 https://github.com/Perl/perl5/commit/5335601b6b6a88f5244d09fd2c1e531a1918ec12 Author: Karl Williamson Date: 2024-02-15 (Thu, 15 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Move unnecessary work out of toggled state In some Configurations, toggling the locale can interfere with other executing threads. As of GH #21908, the current Configurations where this is true are critical sections. This commit takes one such place and moves unnecessary work to outside the critical section/toggled locale. The downside of this change is that we may have to retoggle to the locale later in the called function get_locale_string_utf8ness_i(), which may call is_locale_utf8(). This would be wasted effort in those Configurations where toggling doesn't interfere, but often the toggling is avoided, in part because of caching, and in part because the most frequent calls to this function result in ASCII data which don't require toggling. A scheme could be created to avoid any such possibility, but I don't think it's worth it.
[Perl/perl5] ea98be: locale.c: Don't compile unused function
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: ea98beac8b0e867a26343f8d5fb1520bf0ecac4d https://github.com/Perl/perl5/commit/ea98beac8b0e867a26343f8d5fb1520bf0ecac4d Author: Karl Williamson Date: 2024-02-15 (Thu, 15 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.
[Perl/perl5] b9382a: lib/locale_threads.t: Change variable names
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: b9382a43dcb2b07b7baeb88401cad46ca283dc61 https://github.com/Perl/perl5/commit/b9382a43dcb2b07b7baeb88401cad46ca283dc61 Author: Karl Williamson Date: 2024-02-15 (Thu, 15 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.
[Perl/perl5] bee790: locale.c: Special case C locale LC_ADDRESS country...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: bee790e641d2772336a72c405717440cbde7ac33 https://github.com/Perl/perl5/commit/bee790e641d2772336a72c405717440cbde7ac33 Author: Karl Williamson Date: 2024-02-15 (Thu, 15 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Special case C locale LC_ADDRESS country number Some glibc implementations are returning random garbage for this in the C locale. The country number is known to be 0 for that locale, so just use that and avoid calling glibc.
[Perl/perl5] ebec9c: makedef.pl: PL_cur_locale_obj is only POSIX 2008 m...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: ebec9c595662482d4bd6aafd655125e25b061d44 https://github.com/Perl/perl5/commit/ebec9c595662482d4bd6aafd655125e25b061d44 Author: Karl Williamson Date: 2024-02-14 (Wed, 14 Feb 2024) Changed paths: M makedef.pl Log Message: --- makedef.pl: PL_cur_locale_obj is only POSIX 2008 multiplicity
[Perl/perl5] d35fff: locale.c: Remove unnecessary assertions
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: d35fffc19e9fcc44e479e3e3ce83778620d537ff https://github.com/Perl/perl5/commit/d35fffc19e9fcc44e479e3e3ce83778620d537ff Author: Karl Williamson Date: 2024-02-14 (Wed, 14 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Remove unnecessary assertions These assertions come from a time that the parameter they each check was an 'unsigned', even though the legal values were actually between 0 and at most about 12, depending on the platform. The check just validated that the value was in the platform's proper range. Later, an enum was created to represent this information, and the parameter's type was changed to be this enum. So the compiler ensures that the value is in range, and there's no need for us to explicitly check it as well.
[Perl/perl5] 14ace7: perlfunc: %j format is no long unportable
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 14ace789037370b25dd0d513dcc251e70290d72f https://github.com/Perl/perl5/commit/14ace789037370b25dd0d513dcc251e70290d72f Author: Karl Williamson Date: 2024-02-14 (Wed, 14 Feb 2024) Changed paths: M pod/perlfunc.pod Log Message: --- perlfunc: %j format is no long unportable Clarify its pod
[Perl/perl5] 36ed4b: locale.c: Use widest int type for parameter
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 36ed4b5cddb7a210db757ace5bdad96b1776ea08 https://github.com/Perl/perl5/commit/36ed4b5cddb7a210db757ace5bdad96b1776ea08 Author: Karl Williamson Date: 2024-02-14 (Wed, 14 Feb 2024) Changed paths: M embed.fnc M locale.c M proto.h Log Message: --- locale.c: Use widest int type for parameter nl_langinfo() is a libc function, specified by POSIX, that returns information about some particular element of a locale. Which element is desired is passed to nl_langinfo() via a parameter with a typedef of 'nl_item'. What that typedef actually is is opaque to perl. On my Linux glibc, it is an 'int', but it could just as easily be an enum. POSIX lists all the elements that nl_langinfo() should handle, but some platforms have extensions beyond those. Perl aims to handle any somewhat prominent such extension, which means it needs fallbacks if the particular item isn't available on a given platform. emulate_langinfo() is used to handle such fallbacks. If an element isn't available on a platform, perl has to create an element number that doesn't clash with any nl_item one. perl also has to cope with platforms that don't have nl_langinfo() at all (Win32 is one). In this case it has to create an 'nl_item' typedef. We use 'int'. So emulate_langinfo() has to be able to handle an 'int' or whatever the system specifies an nl_item may be. This could be a 'long' or a 'long long'. The only way to do that is to make the parameter as wide as the the platform permits. That is what this commit does. This commit also casts the item to the widest possible value with corresponding %j format for display in a Debug statement in the sv_langinfo_i() function.
[Perl/perl5] 28bee1: perl_langinfo.h: Fix typos
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 28bee18f1c59c1a0842da61ad3e9cdff4cf42b20 https://github.com/Perl/perl5/commit/28bee18f1c59c1a0842da61ad3e9cdff4cf42b20 Author: Karl Williamson Date: 2024-02-13 (Tue, 13 Feb 2024) Changed paths: M perl_langinfo.h Log Message: --- perl_langinfo.h: Fix typos Commit 7fa3c53d55c304560ddc569ba9ae6760380eb112 added these lines; the problem is that each should have had a trailing underscore in the names.
[Perl/perl5] cfc8e8: locale_threads.t: Better handle weird locales
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: cfc8e8a4ca7f7e04fee2c671bd8eec76b07bba1e https://github.com/Perl/perl5/commit/cfc8e8a4ca7f7e04fee2c671bd8eec76b07bba1e Author: Karl Williamson Date: 2024-02-12 (Mon, 12 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.
[Perl/perl5] 941444: perlapi: Add detail to sv_setpv_bufsize()
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 94144432cd6b311eddc4502f9ef0a0ab85184039 https://github.com/Perl/perl5/commit/94144432cd6b311eddc4502f9ef0a0ab85184039 Author: Karl Williamson Date: 2024-02-12 (Mon, 12 Feb 2024) Changed paths: M sv.c Log Message: --- perlapi: Add detail to sv_setpv_bufsize()
[Perl/perl5] 2b9ba1: locale.c: Each toggle locale must have matching re...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 2b9ba1b947dd0f0741670247b62dadd0f5260deb https://github.com/Perl/perl5/commit/2b9ba1b947dd0f0741670247b62dadd0f5260deb Author: Karl Williamson Date: 2024-02-09 (Fri, 09 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: 43675576d7be4038995e4ddfb4d2ea132a626ec8 https://github.com/Perl/perl5/commit/43675576d7be4038995e4ddfb4d2ea132a626ec8 Author: Karl Williamson Date: 2024-02-09 (Fri, 09 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. Compare: https://github.com/Perl/perl5/compare/48c6b5da1dc5...43675576d7be
[Perl/perl5] 72cca9: Add ability to emulate thread-safe locale operations
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 72cca921141163fecc7a16a78d5950f9a3e80432 https://github.com/Perl/perl5/commit/72cca921141163fecc7a16a78d5950f9a3e80432 Author: Karl Williamson Date: 2024-02-09 (Fri, 09 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: ced23ace06c24f7f1860c407aa29af170fbdeb3d https://github.com/Perl/perl5/commit/ced23ace06c24f7f1860c407aa29af170fbdeb3d Author: Karl Williamson Date: 2024-02-09 (Fri, 09 Feb 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: c20ca85ae09adfdda187920c8fcdd1b43f03dcdf https://github.com/Perl/perl5/commit/c20ca85ae09adfdda187920c8fcdd1b43f03dcdf Author: Karl Williamson Date: 2024-02-09 (Fri, 09 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 la
[Perl/perl5] 97bd10: lib/locale.t:
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 97bd10fb57ec53f2b530fa9e518855b030360038 https://github.com/Perl/perl5/commit/97bd10fb57ec53f2b530fa9e518855b030360038 Author: Karl Williamson Date: 2024-02-08 (Thu, 08 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: 4a6082257fe61224954d5dc9aac8f127620fd1e7 https://github.com/Perl/perl5/commit/4a6082257fe61224954d5dc9aac8f127620fd1e7 Author: Karl Williamson Date: 2024-02-08 (Thu, 08 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: bb7bdc6ac915d1d850e1317c3ad699c1adef2db4 https://github.com/Perl/perl5/commit/bb7bdc6ac915d1d850e1317c3ad699c1adef2db4 Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: f57e455d9c2b8cfddc50dfd5f6625f7f5268dd5a https://github.com/Perl/perl5/commit/f57e455d9c2b8cfddc50dfd5f6625f7f5268dd5a Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: ee6529a392a68d980b2866ce7d6fad64d1cf04aa https://github.com/Perl/perl5/commit/ee6529a392a68d980b2866ce7d6fad64d1cf04aa Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: afb4ee1aa9c0550f1cf9a67e0050e40afd8a44f3 https://github.com/Perl/perl5/commit/afb4ee1aa9c0550f1cf9a67e0050e40afd8a44f3 Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 98bc22d4601bb7b6502286231b556e02154ba190 https://github.com/Perl/perl5/commit/98bc22d4601bb7b6502286231b556e02154ba190 Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M t/TEST Log Message: --- Skip cpan testing message Commit: 2ad45e5f746d6d5ed577e3d5abafaa05ba787ffd https://github.com/Perl/perl5/commit/2ad45e5f746d6d5ed577e3d5abafaa05ba787ffd Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M t/TEST Log Message: --- Also skip non-thread dist testing Commit: 4e174ff491474862136c09b0a8c25e7e3ae517a0 https://github.com/Perl/perl5/commit/4e174ff491474862136c09b0a8c25e7e3ae517a0 Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: --- XXX skip Archive-Tar because of symlinks Commit: 61565ad41d8c28d1c9380f11b162ad448204bf5a https://github.com/Perl/perl5/commit/61565ad41d8c28d1c9380f11b162ad448204bf5a Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t because of sym links Commit: 243a210c254a34bb1c5256391008d3b4d1439061 https://github.com/Perl/perl5/commit/243a210c254a34bb1c5256391008d3b4d1439061 Author: Karl Williamson Date: 2024-02-08 (Thu, 08 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: 2a4191d171ec7bb7b4df51ebcac30396f32d6979 https://github.com/Perl/perl5/commit/2a4191d171ec7bb7b4df51ebcac30396f32d6979 Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M dist/Tie-File/t/29a_upcopy.t Log Message: --- up timeout
[Perl/perl5] 85a3d7: embed.fnc: Match formal parameter name
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 85a3d7082f1f125abdbb30bf7284971241384652 https://github.com/Perl/perl5/commit/85a3d7082f1f125abdbb30bf7284971241384652 Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M embed.fnc M proto.h Log Message: --- embed.fnc: Match formal parameter name with that used in the actual function
[Perl/perl5] 05b8d3: Don't mortalize my_localeconv() for internal use
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 05b8d3da76ae0dad22084a59705bcd769e24d06b https://github.com/Perl/perl5/commit/05b8d3da76ae0dad22084a59705bcd769e24d06b Author: Karl Williamson Date: 2024-02-08 (Thu, 08 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.
[Perl/perl5] 934d12: perl.h: Clarify comment
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 934d12ea622a543d5befb821fd0268864d7c21fc https://github.com/Perl/perl5/commit/934d12ea622a543d5befb821fd0268864d7c21fc Author: Karl Williamson Date: 2024-02-08 (Thu, 08 Feb 2024) Changed paths: M perl.h Log Message: --- perl.h: Clarify comment
[Perl/perl5] 5f0866: locale.c: Avoid copies
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 5f086631753d72fa4c8ef0fb5e82ee8a9073f9c3 https://github.com/Perl/perl5/commit/5f086631753d72fa4c8ef0fb5e82ee8a9073f9c3 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Avoid copies Refactoring slightly as suggested by Tony Cook avoids having to make two copies in some circumstances.
[Perl/perl5] e5c2d3: Avoid unnecessary mutex lock on Windows
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: e5c2d3e727814fcfe067f1ee4a71109b8ff2a92c https://github.com/Perl/perl5/commit/e5c2d3e727814fcfe067f1ee4a71109b8ff2a92c Author: Karl Williamson Date: 2024-02-07 (Wed, 07 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: de957aa6f7fb26fdb92ae48ca7037276b88fd8f6 https://github.com/Perl/perl5/commit/de957aa6f7fb26fdb92ae48ca7037276b88fd8f6 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Combine some Win32 #directives This creates a teardown macro that is empty if unneeded, to reduce the number of #if directives in this function Commit: 8e242e6850168078d76e26707b5beeb56f7b9c13 https://github.com/Perl/perl5/commit/8e242e6850168078d76e26707b5beeb56f7b9c13 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: White space only This mainly outdents some #directives which are no longer within the control of another #directive removed in a previous commit. Commit: 37f948bc236afb3a8e36100dc25c00b191935b97 https://github.com/Perl/perl5/commit/37f948bc236afb3a8e36100dc25c00b191935b97 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 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: 9ea33191b4761c5947f472494b38cbf61a21b8bb https://github.com/Perl/perl5/commit/9ea33191b4761c5947f472494b38cbf61a21b8bb Author: Karl Williamson Date: 2024-02-07 (Wed, 07 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. Compare: https://github.com/Perl/perl5/compare/b6ac642e0c63...9ea33191b476
[Perl/perl5] b6ac64: embed.fnc: Don't compile undefined function
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: b6ac642e0c634eb686764eea92af294114f806ef https://github.com/Perl/perl5/commit/b6ac642e0c634eb686764eea92af294114f806ef Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M embed.fnc M embed.h M proto.h Log Message: --- embed.fnc: Don't compile undefined function This function now is defined only when USE_LOCALE is #defined; move its specification in embed.fnc accordingly
[Perl/perl5] 6b961c: locale.c: Reword comment for clarity
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 6b961c8ec83bb5142514a7a0c45b8cc88041 https://github.com/Perl/perl5/commit/6b961c8ec83bb5142514a7a0c45b8cc88041 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Reword comment for clarity Commit: 86e593981b20f11fc201eef9e42f4cc3c87c9cfe https://github.com/Perl/perl5/commit/86e593981b20f11fc201eef9e42f4cc3c87c9cfe Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M lib/locale.t M locale.c Log Message: --- Accept 0 for first alternate digit when no nl_langinfo() Commit 85857715f96ef9f591dd5ca0322dc293e1f07867 allows a locale to have an ASCII digit 0 to be the first alternate digit. This is to accommodate locales without a zero (such as Roman numerals) to use the modern day Western 0, and still have the rest of the digits be alternates. This commit extends that to perl's emulation of nl_langinfo() on systems that lack that libc function. Compare: https://github.com/Perl/perl5/compare/95e3939ea385...86e593981b20
[Perl/perl5] 95e393: Add comment to sv_setpv_freshbuf
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 95e3939ea385470fd6154876bb366b5eb5f470f1 https://github.com/Perl/perl5/commit/95e3939ea385470fd6154876bb366b5eb5f470f1 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M sv_inline.h Log Message: --- Add comment to sv_setpv_freshbuf
[Perl/perl5] fb061b: locale.c: Two loop indices are confined to an enum
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: fb061bb65e1e2610a5726ef07d30d985a10c8cb0 https://github.com/Perl/perl5/commit/fb061bb65e1e2610a5726ef07d30d985a10c8cb0 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Two loop indices are confined to an enum They don't take on all possible unsigned values. Create a macro to do the casting necessary for some compilers Commit: 22c3dc5f312204252cf5791c33177d6c87e809d0 https://github.com/Perl/perl5/commit/22c3dc5f312204252cf5791c33177d6c87e809d0 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Use macro created in previous commit This is a more general macro than these others, which can be rewritten more simply in terms of it. Compare: https://github.com/Perl/perl5/compare/574e1eb30a24...22c3dc5f3122
[Perl/perl5] 574e1e: locale.c: Use SvPV_nomg_const_nolen() over SvPV_n...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 574e1eb30a24112d3f24f8b9ca24289b56daea11 https://github.com/Perl/perl5/commit/574e1eb30a24112d3f24f8b9ca24289b56daea11 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Use SvPV_nomg_const_nolen() over SvPV_nolen() The new way is the same call earlier in the function, and should have been that one from the beginning
[Perl/perl5] bbfe49: Add cautionary comment to mktables
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: bbfe49cc8ec1967921106d819efb384499e6bc27 https://github.com/Perl/perl5/commit/bbfe49cc8ec1967921106d819efb384499e6bc27 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M charclass_invlists.h M lib/unicore/mktables M lib/unicore/uni_keywords.pl M regcharclass.h M uni_keywords.h Log Message: --- Add cautionary comment to mktables
[Perl/perl5] 8749dd: Add ability to emulate thread-safe locale operations
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 8749dd46d2e966183cc4d36ea2fb0c26bac0a01d https://github.com/Perl/perl5/commit/8749dd46d2e966183cc4d36ea2fb0c26bac0a01d Author: Karl Williamson Date: 2024-02-07 (Wed, 07 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: 533be7e935dadffc0138f89bf9b9b8433103a01f https://github.com/Perl/perl5/commit/533be7e935dadffc0138f89bf9b9b8433103a01f Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- DEBUG Lv to U Commit: 0689950acba5f2bb99e831a857a0e91b692dbe51 https://github.com/Perl/perl5/commit/0689950acba5f2bb99e831a857a0e91b692dbe51 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- extra debug Commit: 3f14c5c7c1961a7e2b969e8f5c0c0085985235e0 https://github.com/Perl/perl5/commit/3f14c5c7c1961a7e2b969e8f5c0c0085985235e0 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- f some emul old implement
[Perl/perl5] 3b2659: lib/locale.t:
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 3b265980df2371a10c1d9cec35f72ea9df6fff44 https://github.com/Perl/perl5/commit/3b265980df2371a10c1d9cec35f72ea9df6fff44 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 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: 6e06d90af35c07b848848ee308c958efeecae39c https://github.com/Perl/perl5/commit/6e06d90af35c07b848848ee308c958efeecae39c Author: Karl Williamson Date: 2024-02-07 (Wed, 07 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: d816a7e00e5c50dcb5c4f0315c138c7a14c59ce4 https://github.com/Perl/perl5/commit/d816a7e00e5c50dcb5c4f0315c138c7a14c59ce4 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: afc6cfdc575d9385d0910014764f61df3e943a2e https://github.com/Perl/perl5/commit/afc6cfdc575d9385d0910014764f61df3e943a2e Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: 933253d348597db5469341a2757cc2a5b373897a https://github.com/Perl/perl5/commit/933253d348597db5469341a2757cc2a5b373897a Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: 467adb8f433a2de7ab9ed71ca319405ebf93e201 https://github.com/Perl/perl5/commit/467adb8f433a2de7ab9ed71ca319405ebf93e201 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 5ba58ca7feeefdab8147ecfdc43d575911eab609 https://github.com/Perl/perl5/commit/5ba58ca7feeefdab8147ecfdc43d575911eab609 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M t/TEST Log Message: --- Skip cpan testing message Commit: 36e862998783e281e5ed232652ae3f9e97c37246 https://github.com/Perl/perl5/commit/36e862998783e281e5ed232652ae3f9e97c37246 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M t/TEST Log Message: --- Also skip non-thread dist testing Commit: 9bf0a2ab2b878483503b203466185686082cfcba https://github.com/Perl/perl5/commit/9bf0a2ab2b878483503b203466185686082cfcba Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M cpan/Archive-Tar/t/02_methods.t Log Message: --- XXX skip Archive-Tar because of symlinks Commit: 8054e5e434028f39df2d8d5a21a47c6add06c474 https://github.com/Perl/perl5/commit/8054e5e434028f39df2d8d5a21a47c6add06c474 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M t/porting/cmp_version.t Log Message: --- XXX skip cmp_version.t because of sym links Commit: c366ab0f0aded5b331ac07f6155654f3d0c102b6 https://github.com/Perl/perl5/commit/c366ab0f0aded5b331ac07f6155654f3d0c102b6 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 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: 4cc7ce8db816cdd5a4be74382662615a4f5f02e8 https://github.com/Perl/perl5/commit/4cc7ce8db816cdd5a4be74382662615a4f5f02e8 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M dist/Tie-File/t/29a_upcopy.t Log Message: --- up timeout
[Perl/perl5] 36e41d: Don't use both mini_mktime() and mkttime()
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 36e41d53ff6a5995c16234f8027ef34b5e6a34cc https://github.com/Perl/perl5/commit/36e41d53ff6a5995c16234f8027ef34b5e6a34cc Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M locale.c Log Message: --- Don't use both mini_mktime() and mkttime() mini_mktime() has less overhead than libc mkttime(), but it doesn't get all the desired fields on all platforms. Prior to this commit, both got called on such platforms, roughly doubling the amount of time spent. So just use the slightly more expensive function on those platforms and avoid that redundant overhead. The only glitch I've seen is that mktime() likely doesn't handle leap seconds the same way mini_mktime() does; so this calls both functions for those very rare instances.
[Perl/perl5] ebb7a9: perlapi, av.h: Need "apidoc_item"
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: ebb7a94b17bb2e45f958ffc5aabe0eae70625523 https://github.com/Perl/perl5/commit/ebb7a94b17bb2e45f958ffc5aabe0eae70625523 Author: Karl Williamson Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M av.h Log Message: --- perlapi, av.h: Need "apidoc_item" Commit 0d564a3d013287cf0880fdc3264f30c20fe6188d added docs for newAV_mortal, but it needed to use "apidoc_item", not plain "apidoc". Not doing so resulted in this build time warning: Empty pod for newAV (from av.h) at autodoc.pl line 1265. and the resulting pod/perlapi.pod was incorrect. Plain "apidoc" is used to begin a new entry. "apidoc_item" is for related subsidiary functions to the main entry. Suggestions welcome as to how to make this relationship more obvious. Perhaps it should be renamed "apidoc_sub_item"
[Perl/perl5] c2f1b4: locale.c: Make sure UTF-8 flag is off on a scalar
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: c2f1b40217a871eef84004606e02345a46f0bb08 https://github.com/Perl/perl5/commit/c2f1b40217a871eef84004606e02345a46f0bb08 Author: Karl Williamson Date: 2024-02-06 (Tue, 06 Feb 2024) Changed paths: M locale.c Log Message: --- locale.c: Make sure UTF-8 flag is off on a scalar The contents of this scalar at this moment are the name of a code set, such as CP1252, UTF-8, 8859-1, etc. I believe all such names contain just ASCII characters. I finally got around to checking if the sv_setpvf() functions clear the UTF-8 flag. They don't. GH #21921 adds documentation to that effect. One of those functions was used to populate this SV. Since the result is ASCII, the UTF-8 flag is immaterial except for performance. Prior to this commit, it retained its previous value, but its better practice (and can speed things up a bit) to turn it off for ASCII content.
[Perl/perl5] d630fe: locale.c: Combine some preprocessor directives
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: d630fe44d3be7e1d5d3d43bc845d554a6563ed32 https://github.com/Perl/perl5/commit/d630fe44d3be7e1d5d3d43bc845d554a6563ed32 Author: Karl Williamson Date: 2024-02-06 (Tue, 06 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. This commit also causes there to be a matching restore for each toggle. That symmetry will become important for future commits.
[Perl/perl5] 4bc38a: locale.c: Avoid unused param warnings
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 4bc38a58492a2e5e6969736c458479a9a49c0277 https://github.com/Perl/perl5/commit/4bc38a58492a2e5e6969736c458479a9a49c0277 Author: Karl Williamson Date: 2024-02-05 (Mon, 05 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
[Perl/perl5] 1c4adc: locale.c: Don't compile unused function
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 1c4adc26f5bdb3ba84ab28c4643ace7a2c3b5c3e https://github.com/Perl/perl5/commit/1c4adc26f5bdb3ba84ab28c4643ace7a2c3b5c3e Author: Karl Williamson Date: 2024-02-05 (Mon, 05 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.
[Perl/perl5] 1957c6: locale.c: Change API for static strftime-related f...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 1957c60d0591397316cff390fd9a8419e8bd09fb https://github.com/Perl/perl5/commit/1957c60d0591397316cff390fd9a8419e8bd09fb Author: Karl Williamson Date: 2024-02-05 (Mon, 05 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: ddfeae48f6c77103c15415fb29321dffc6da2d2f https://github.com/Perl/perl5/commit/ddfeae48f6c77103c15415fb29321dffc6da2d2f Author: Karl Williamson Date: 2024-02-05 (Mon, 05 Feb 2024) Changed paths: M locale.c 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. Compare: https://github.com/Perl/perl5/compare/7fa3c53d55c3...ddfeae48f6c7
[Perl/perl5] f20e69: C preprocessor doesn't understand 'false' means
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: f20e69808c0b02f338f8818e3a575d0b98cbf58d https://github.com/Perl/perl5/commit/f20e69808c0b02f338f8818e3a575d0b98cbf58d Author: Karl Williamson Date: 2024-02-05 (Mon, 05 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: 309cbdacfa05dd3d4bfd6d1d37d56b5d20bdc897 https://github.com/Perl/perl5/commit/309cbdacfa05dd3d4bfd6d1d37d56b5d20bdc897 Author: Karl Williamson Date: 2024-02-05 (Mon, 05 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: 7fa3c53d55c304560ddc569ba9ae6760380eb112 https://github.com/Perl/perl5/commit/7fa3c53d55c304560ddc569ba9ae6760380eb112 Author: Karl Williamson Date: 2024-02-05 (Mon, 05 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. Compare: https://github.com/Perl/perl5/compare/186963089729...7fa3c53d55c3