[Perl/perl5] 9cbc12: Don't try to use POSIX 2008 locale API on FreeBSD
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 9cbc12c368981c56d4d8e40cc9417ac26bec2c35 https://github.com/Perl/perl5/commit/9cbc12c368981c56d4d8e40cc9417ac26bec2c35 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M hints/freebsd.sh Log Message: --- Don't try to use POSIX 2008 locale API on FreeBSD This is because of https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265950
[Perl/perl5] 96983b: BlackBox dont use rare scripts
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 96983bca53fc4d6db480d8cebdeb130353dab767 https://github.com/Perl/perl5/commit/96983bca53fc4d6db480d8cebdeb130353dab767 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: 732c21749091b082938447dcd987119130e92d16 https://github.com/Perl/perl5/commit/732c21749091b082938447dcd987119130e92d16 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: 7c693ec48ad1ca92ec31234c86a651a1c6ff61b1 https://github.com/Perl/perl5/commit/7c693ec48ad1ca92ec31234c86a651a1c6ff61b1 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: 5134d59cee1292651f0413b98b28b7c9218e397b https://github.com/Perl/perl5/commit/5134d59cee1292651f0413b98b28b7c9218e397b Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 7ce0aa78e231ff39c02002b00119a35858f9ee51 https://github.com/Perl/perl5/commit/7ce0aa78e231ff39c02002b00119a35858f9ee51 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M t/TEST Log Message: --- XXX skip cpan testing Commit: efac274cf509e822794f0bd127af5f2fd7f8bdc7 https://github.com/Perl/perl5/commit/efac274cf509e822794f0bd127af5f2fd7f8bdc7 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M dist/Tie-File/t/29a_upcopy.t Log Message: --- XXX temp: dist/Tie-File/t/29a_upcopy.t: Up alarm Commit: b48c03c604950c653919a7264672078471a13df8 https://github.com/Perl/perl5/commit/b48c03c604950c653919a7264672078471a13df8 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M MANIFEST M charclass_invlists.h M lib/unicore/mktables M lib/unicore/uni_keywords.pl M regcharclass.h A t/re/uniprops11.t A t/re/uniprops12.t A t/re/uniprops13.t A t/re/uniprops14.t A t/re/uniprops15.t A t/re/uniprops16.t A t/re/uniprops17.t A t/re/uniprops18.t A t/re/uniprops19.t A t/re/uniprops20.t A t/re/uniprops21.t A t/re/uniprops22.t A t/re/uniprops23.t A t/re/uniprops24.t M uni_keywords.h Log Message: --- uniprops 24 Commit: 6855061c6131a8c9eb9e0fd6f49e02c3a0cfe2a9 https://github.com/Perl/perl5/commit/6855061c6131a8c9eb9e0fd6f49e02c3a0cfe2a9 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M MANIFEST A t/uni/idstart.pl A t/uni/idstart00.t A t/uni/idstart01.t A t/uni/idstart02.t A t/uni/idstart03.t A t/uni/idstart04.t A t/uni/idstart05.t A t/uni/idstart06.t A t/uni/idstart07.t A t/uni/idstart08.t A t/uni/idstart09.t A t/uni/idstart10.t A t/uni/idstart11.t A t/uni/idstart12.t A t/uni/idstart13.t A t/uni/idstart14.t A t/uni/idstart15.t A t/uni/idstart16.t A t/uni/idstart17.t A t/uni/idstart18.t A t/uni/idstart19.t A t/uni/idstart20.t A t/uni/idstart21.t A t/uni/idstart22.t A t/uni/idstart23.t M t/uni/variables.t Log Message: --- Split t/uni/variables.t into multiple tests These can be done in parallel; otherwise this is often the test that finishes last, holding up the test suite completion. Commit: 654f36960e2d0270b69b1345d24e935ed1bb9603 https://github.com/Perl/perl5/commit/654f36960e2d0270b69b1345d24e935ed1bb9603 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M t/test.pl Log Message: --- XXX test.pl: dont unlink temps Commit: 382deb540de9c5192232671adde71fde1d89be26 https://github.com/Perl/perl5/commit/382deb540de9c5192232671adde71fde1d89be26 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M t/test.pl Log Message: --- Revert "XXX test.pl: dont unlink temps" This reverts commit 1579ce0dbce549cb594214ba27d4e2fa389f891b. Commit: 7bb3648d283368d1a439ebe67b81791a0d4d665d https://github.com/Perl/perl5/commit/7bb3648d283368d1a439ebe67b81791a0d4d665d Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M t/run/locale.t Log Message: --- run/locale.t: more debug Commit: e6982e4df6e7e37b11fe6b0fff4b54f72e10151c https://github.com/Perl/perl5/commit/e6982e4df6e7e37b11fe6b0fff4b54f72e10151c Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M t/run/locale.t Log Message: ---
[Perl/perl5] e97a5e: globvar.t: use nm -P for portability
Branch: refs/heads/smoke-me/tonyc/21623-globvar Home: https://github.com/Perl/perl5 Commit: e97a5ef73745474e04176dd3547a49c34908261d https://github.com/Perl/perl5/commit/e97a5ef73745474e04176dd3547a49c34908261d Author: Tony Cook Date: 2023-11-13 (Mon, 13 Nov 2023) Changed paths: M t/porting/globvar.t Log Message: --- globvar.t: use nm -P for portability POSIX specifies well defined output for nm -P This will hopefully run this test on more platforms, including old AIX, for which nm produces a different output from what the test expected. Part of #21623 Commit: f96b74ebabf88cf20538f8f2b4c35bbb43fdd77d https://github.com/Perl/perl5/commit/f96b74ebabf88cf20538f8f2b4c35bbb43fdd77d Author: Tony Cook Date: 2023-11-13 (Mon, 13 Nov 2023) Changed paths: M t/porting/globvar.t Log Message: --- globvar.t: allow duplicate definitions of symbols nm on AIX can list both local and global definitions for the same variable, which meant the parsing would delete the first instance from %exported, but then add the second to %unexported, failing the test. This didn't fail on AIX 5 because the default nm output didn't match what the code expected when checking for PL_Yes, and so the entire test script skipped. Fixes #21623 Compare: https://github.com/Perl/perl5/compare/e97a5ef73745%5E...f96b74ebabf8
[Perl/perl5] 1ae36e: locale.c: Convert to conditional ? : operator
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 1ae36e9bbaa155adcc9230c5e4232b276a2a33fb https://github.com/Perl/perl5/commit/1ae36e9bbaa155adcc9230c5e4232b276a2a33fb Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M locale.c Log Message: --- locale.c: Convert to conditional ? : operator I think this makes it less clumsy. Commit: 523eea4765a728d47445079c80c774a5b3902576 https://github.com/Perl/perl5/commit/523eea4765a728d47445079c80c774a5b3902576 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M locale.c Log Message: --- locale.c: Rename variable This was shadowing an outer variable, and conflating two things. We are looking for the UTF8ness of some strings in a locale to try to divine if the locale itself is a UTF-8 one or not. But we're doing this in the context of trying to find the CODESET of the locale, like 8859-1 or UTF-8.. And the utf8ness of the CODESET name is always going to be an ASCII string. Thus there are two types of utf8ness being looked at here, and the names of the variables for each should be distinct. Commit: d8fc44bc3477dad1dbd623be1e193e8a2a70401f https://github.com/Perl/perl5/commit/d8fc44bc3477dad1dbd623be1e193e8a2a70401f Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M locale.c Log Message: --- locale.c: Avoid some mallocs By reusing this buffer, we don't have to realloc unless the next thing to store in it is bigger than the first. The order of calling already has abbreviations (hence shorter) coming after their full names. Commit: 868f26346d64105799b6828a6bd136ba01464cdc https://github.com/Perl/perl5/commit/868f26346d64105799b6828a6bd136ba01464cdc Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M locale.c Log Message: --- locale.c: Remove potential infinite recursive call In Configurations where this #ifdef'd code is compiled, we recursively call my_langinfo(). Prior to this commit, the call asked for the UTFness of the returned string. Depending on the particular values involved, that could lead to this same code being executed to determine that UTF8ness of the locale. This would have proceeded ad infinitum except a previous commit had created flags so as to skip any call that would recurse infinitely. But that can lead to erroneous results, because when skipped, we may not know what the answer is. This commit avoids all that by not asking the recursed call to return the UTF8ness of the string, but instead use a heuristic to get its value here. This avoids needing to know the locale's UTF8ness (which is where the infinite recursion would come from). The heuristic is that if it is illegal UTF-8, it isn't UTF-8; if it is plain ASCII, we can't tell; and if it is legal UTF-8, it will be tentatively considered UTF-8. This is just one iteration of a loop through a bunch of strings, so that after all the accumulated evidence of all iterations, we have confidence that the total result is correct. There are other code sections that also have the potential for infinite recursion. The next commits handle these. Commit: 2a8fb4df77474a4ee6fba9462c25cdb81d0977c9 https://github.com/Perl/perl5/commit/2a8fb4df77474a4ee6fba9462c25cdb81d0977c9 Author: Karl Williamson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M locale.c Log Message: --- locale.c: Differently avoid infinite recursion This commit changes the mechanism for avoiding potential infinite recursion in my_localeconv(). Normally the UTF8ness of the locale is determined. Then all strings returned by localeconv() are examined to see if their SVs need to be marked as UTF-8 or not. Knowing that the locale is or isn't UTF-8 helps in that determination. But in figuring that out, some Configurations call this function asking for just a single item. That would lead to infinite recursion. To avoid that, on such Configurations prior to this commit, the UTF8ness of the overall locale wasn't calculated, but instead each item's UTF8ness was calculated individually. It's complicated, but it turns out doing this finesses the issue. See below for a fuller explanaation. This commit changes things so that for single item calls, the UTF8-ness isn't determined here, but the caller does it itself, and it doesn't generally need the locale's UTF8ness to make that determination. To expand on why it's complicated: This situation arises only on Configurations where calculating the UTF8ness of the locale may not be reliable. But it very likely is reliable except for English locales whose currency symbol is plain ASCII, such as the USA and Canada and other former members of the British Empire who use the dollar sign for their currency symbol. (I told you it was complicated.) But for such locales, t
[Perl/perl5] e8a4ce: win32: retire visual studio 2013 support
Branch: refs/heads/smoke-me/tonyc/retire-vs-2013 Home: https://github.com/Perl/perl5 Commit: e8a4ced88386ca079ba9f3cc4d138086aacfa8fc https://github.com/Perl/perl5/commit/e8a4ced88386ca079ba9f3cc4d138086aacfa8fc Author: Tony Cook Date: 2023-11-13 (Mon, 13 Nov 2023) Changed paths: M README.win32 M win32/GNUmakefile M win32/Makefile Log Message: --- win32: retire visual studio 2013 support I recently (tried) to test VS 2013 builds, but while vs2013 in theory supports mixed declarations and code, in practice that support is broken, and failed to build toke.obj: The one case I looked at in detail, VS 2013 required an extra ; after a conditional statement to accept the following declaration, for example: ``` C:\Users\Tony\dev\perl\git>cl /c mixed.c Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x64 Copyright (C) Microsoft Corporation. All rights reserved. mixed.c mixed.c(8) : error C2143: syntax error : missing ';' before 'const' mixed.c(9) : error C2065: 'pend' : undeclared identifier mixed.c(9) : error C2100: illegal indirection C:\Users\Tony\dev\perl\git>type mixed.c /* adapted from S_intuit_more() in toke.c. don't run this code */ int g(const char *p) { if (!p) return (0); const char * const pend = p+1; return *pend; } ``` regcomp.obj also failed to build due to the use of the "inline" keyword in regcomp.h. This is fairly trivially fixable but inline is also C99. Despite these build issues we haven't received any error reports for VS2013, so I don't think it's worth re-working any mixed declarations to support it. It might be worth updating regcomp.h to use PERL_STATIC_INLINE but that's out of scope for this commit.
[Perl/perl5] 1d74e8: locale_threads.t: Skip on OpenBSD and DragonFly th...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 1d74e8214dd53cf0fa9e8c5aab3e6187685eadcd https://github.com/Perl/perl5/commit/1d74e8214dd53cf0fa9e8c5aab3e6187685eadcd Author: James E Keenan Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M lib/locale_threads.t Log Message: --- locale_threads.t: Skip on OpenBSD and DragonFly threaded builds Due to repeated testing failures on such builds subsequent to e2934ffc33. Use OS's preferred casing in SKIP message.
[Perl/perl5]
Branch: refs/heads/smoke-me/jkeenan/skip-locale-threads-2023 Home: https://github.com/Perl/perl5
[Perl/perl5] 5265d6: locale_threads.t: Skip on OpenBSD and DragonFly th...
Branch: refs/heads/smoke-me/jkeenan/skip-locale-threads-2023 Home: https://github.com/Perl/perl5 Commit: 5265d636737de07ab4ceb6281b56ef80f5f7526a https://github.com/Perl/perl5/commit/5265d636737de07ab4ceb6281b56ef80f5f7526a Author: James E Keenan Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: M lib/locale_threads.t Log Message: --- locale_threads.t: Skip on OpenBSD and DragonFly threaded builds Due to repeated testing failures on such builds subsequent to e2934ffc33. Use OS's preferred casing in SKIP message.