Branch: refs/heads/smoke-me/khw-safe Home: https://github.com/Perl/perl5 Commit: f431614f1a4d33d414a255b625ea084d20ba477c https://github.com/Perl/perl5/commit/f431614f1a4d33d414a255b625ea084d20ba477c Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021)
Changed paths: M pp.c M sv.c Log Message: ----------- Avoid some compiler warnings with -DNO_LOCALE Commit: db4731c260cb3a400b670807322e7f97917e8d06 https://github.com/Perl/perl5/commit/db4731c260cb3a400b670807322e7f97917e8d06 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Remove dead code This code was left in for a potential guide for the future. Now that I'm getting round to implementing it, I'm going in a different direction. Commit: bac757e5af0925585e6359b9967f0b4f55a1c750 https://github.com/Perl/perl5/commit/bac757e5af0925585e6359b9967f0b4f55a1c750 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h Log Message: ----------- Save and restore errno around DEBUG statements Adding DEBUG statements should not affect errno. But it could. I have in the past wrapped them in save/restores when it's become a problem. But that is effort that could have been conserved by just always doing it automatically. Commit: badd7971ebacde158335a3d5b27122680b6185bc https://github.com/Perl/perl5/commit/badd7971ebacde158335a3d5b27122680b6185bc Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h Log Message: ----------- dTHX in DEBUG__ Commit: bd86367209d7c367060490b7454ff2425e2949c2 https://github.com/Perl/perl5/commit/bd86367209d7c367060490b7454ff2425e2949c2 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h Log Message: ----------- Create DEBUG macro for when two flags must be set There are some debugging statements that should only be displayed when two flags are set; so far the v flag and another. This commit creates a macro for that purpose that saves a conditional (at least when unoptimized) over the previous way to do it. Commit: 3b2fcd047f6206537c7090fc5c27f6cd378e43e3 https://github.com/Perl/perl5/commit/3b2fcd047f6206537c7090fc5c27f6cd378e43e3 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c M perl.h Log Message: ----------- DEBUG_L now also looks at environment variable Because locale initialization happens before command line processing, one can't pass a -DL argument to enable debugging of locale initialization. Instead, an environment variable is read then, and is used to enable debugging or not. In the past, code specifically had to test for this being set. This commit changes that so that debugging can automatically be enabled without having to write special code. Future commits will strip out those special checks. Commit: c8b264ee4630e8d30eb1a8314daa0fe3c1f6867f https://github.com/Perl/perl5/commit/c8b264ee4630e8d30eb1a8314daa0fe3c1f6867f Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Replace most #ifdef DEBUGGING lines THe previous commit enhanced the DEBUG macros so that they contain the logic that previously had to be done with conditional compilation statements. Removing them makes the code easier to read. Commit: ac925e25f8f4f87781fc931688b470c2f83f2e6c https://github.com/Perl/perl5/commit/ac925e25f8f4f87781fc931688b470c2f83f2e6c Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M handy.h M numeric.c M regcomp.c M regexec.c M utfebcdic.h Log Message: ----------- Change macro names to be C standard conformant C reserves symbols beginning with underscores for its own use. This commit moves the underscore so it is trailing, which is legal. The symbols changed here are most of the ones in handy.h that have few uses outside it. Commit: 638327dd2da8c5b2c039dc77a34f16325f1da74a https://github.com/Perl/perl5/commit/638327dd2da8c5b2c039dc77a34f16325f1da74a Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M handy.h Log Message: ----------- handy.h: Refactor some #ifdef's for commonality This changes these compilation conditionals so that things in common between Windows and other platforms are only defined once. It changes the isWORDCHAR_LC definition for non-Windows to match that platform, adding an UNLIKELY(). Commit: 6c919b02230ca1b8a786a0c668bcf366381e176a https://github.com/Perl/perl5/commit/6c919b02230ca1b8a786a0c668bcf366381e176a Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M handy.h Log Message: ----------- handy.h: White-space, comment only Commit: f4c52986fbec37904e995d482295e5273d189def https://github.com/Perl/perl5/commit/f4c52986fbec37904e995d482295e5273d189def Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M handy.h Log Message: ----------- handy.h: Remove only call to an internal macro Replace isIDFIRST_LC with a slightly faster implementation, in line with what isWORDCHAR already does Commit: 32937b0b978eb6f6534c8fbb38c3e9967c904930 https://github.com/Perl/perl5/commit/32937b0b978eb6f6534c8fbb38c3e9967c904930 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M charclass_invlists.h M handy.h M l1_char_class_tab.h M lib/unicore/uni_keywords.pl M perl.c M perl.h M regcomp.c M regcomp.h M regen/mk_PL_charclass.pl M regexec.c M sv.c M uni_keywords.h M utfebcdic.h Log Message: ----------- Change macro names to be C standard conformant C reserves symbols beginning with underscores for its own use. This commit moves the underscore so it is trailing, which is legal. The symbols changed here are many of the ones in handy.h that have significant uses outside it. Commit: d636f998ba0fbc529daea9ff224ebe03aa924fe6 https://github.com/Perl/perl5/commit/d636f998ba0fbc529daea9ff224ebe03aa924fe6 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M handy.h Log Message: ----------- handy.h: Rmv unneeded generality The possible first character of an ID is always an alpha in the range 0-255, so there is no harm changing from the former to the latter. And future changes would otherwise have needed an extra parameter in a bunch of macros. Commit: 0cca7adf96d72f494ae0837c2c756f1c2aa0658e https://github.com/Perl/perl5/commit/0cca7adf96d72f494ae0837c2c756f1c2aa0658e Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M handy.h Log Message: ----------- handy.h: Don't special case isASCII_LC This was an attempt to save instructions, but future commits will need the generality Commit: c3cfa193ec283bfa79d68db859b72519051d4651 https://github.com/Perl/perl5/commit/c3cfa193ec283bfa79d68db859b72519051d4651 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M handy.h Log Message: ----------- handy.h: Refactor some internal macros This changes the parameters etc, in preparation for further changes Commit: b40b6e2cfa7ce56ae78ce1a0b7766e3ffe092117 https://github.com/Perl/perl5/commit/b40b6e2cfa7ce56ae78ce1a0b7766e3ffe092117 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M proto.h M regexec.c Log Message: ----------- regexec.c: Make internal function static This used to be called from utf8.c, but no longer; no need to make it other than static. This allows the compiler to better optimize. Commit: f384a9c5fc1b9ebe125993091a0189c19a8a878e https://github.com/Perl/perl5/commit/f384a9c5fc1b9ebe125993091a0189c19a8a878e Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M globvar.sym M handy.h M inline.h M perl.h M proto.h M regexec.c Log Message: ----------- regexec.c: Use function call table to streamline code This replaces a switch() statement with a function pointer table. But the main reason I'm doing this is for future functionality. Commit: 03d220697e5027b849c63830bb6f4552b9a1d043 https://github.com/Perl/perl5/commit/03d220697e5027b849c63830bb6f4552b9a1d043 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Declare three static arrays to be so. Commit: 00b66a74cd1a3baf8c54eb6fab00ccbb8a90e5b6 https://github.com/Perl/perl5/commit/00b66a74cd1a3baf8c54eb6fab00ccbb8a90e5b6 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c M perl.h Log Message: ----------- Move some locale.c #defines to perl.h This is in preparation for them to be used in macros from outside locale.c Commit: 43a1526eab070bc8374343e25e4d3406afddb943 https://github.com/Perl/perl5/commit/43a1526eab070bc8374343e25e4d3406afddb943 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c M perl.h Log Message: ----------- Mark newly moved symbols as private The previous commit made certain symbols that previously were local to locale.c now available everywhere. Add a trailing underscore to their names to mark them as private. Commit: def28496b8a6c26bc25306674123ae3dfde90ee3 https://github.com/Perl/perl5/commit/def28496b8a6c26bc25306674123ae3dfde90ee3 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M locale.c M proto.h Log Message: ----------- Split internal function into two This splits out the portion of a function that calculates the index into our tables from a locale category. This immediately allows the calling sequence to be simplified, but future commits will have use for just the functionality of the new function. One debugging statement is also removed from the new split out function, which was not really necessary, and made it harder to do the next commit. Commit: cf24a04b053e0541e1b7a4d70cab2727ce3dcff1 https://github.com/Perl/perl5/commit/cf24a04b053e0541e1b7a4d70cab2727ce3dcff1 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Use nocontext; avoid rarely needed dTHX This is a rare case; no point in doing a dTHX just for it. Commit: 94d5a3d83b3736d0c284dfb5352de35171087e2d https://github.com/Perl/perl5/commit/94d5a3d83b3736d0c284dfb5352de35171087e2d Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c M pod/perldelta.pod M pod/perldiag.pod Log Message: ----------- locale.c: Simplify function We can use the function split-out in the previous commit to simplify this. Also, when I wrote it I didn't know about Perl_form(), and reimplemented a portion of it here; that can be yanked as well. Commit: e788b99f6d3217f20206d2c258d068fba31d1109 https://github.com/Perl/perl5/commit/e788b99f6d3217f20206d2c258d068fba31d1109 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Move unreachable code It turns out this code, setting errno, is unreachable. Move it to the place where it would do some good, removing an extraneous, unreachable return; Commit: 2684b842f502ec6af78fa75d7a8a064a1fbd8320 https://github.com/Perl/perl5/commit/2684b842f502ec6af78fa75d7a8a064a1fbd8320 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Comment clarifications, white space Commit: ef6b11b8d33989d5542b7065472a5a4b69bbb7c3 https://github.com/Perl/perl5/commit/ef6b11b8d33989d5542b7065472a5a4b69bbb7c3 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M locale.c M proto.h Log Message: ----------- locale.c: Separate the query part of emulate_setlocale This splits a large function so that it is easier to comprehend, and is in preparation for them to be separately callable. Commit: 51f42a866b67087acbd6f35b99862c9975e420fb https://github.com/Perl/perl5/commit/51f42a866b67087acbd6f35b99862c9975e420fb Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Remove spaces around a '##' preprocessor directive It turns out that at least my gcc preprocessor gets confused in some contexts if spaces surround the ##. CAT2() doesn't work for these. It is working in this context, but future commits will introduce ones where it won't, so this commit will help make things consistent within this file What seems to fail is #define f(x) (..., g(x ## y), ...) where 'x' is a an already #defined symbol. I want 'xy', but instead, for example if 'x' has been defined to be 1, I get '1y' Commit: dda18fede08316e10450081ca821171acda191e9 https://github.com/Perl/perl5/commit/dda18fede08316e10450081ca821171acda191e9 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Create new macros for just querying locale Now that the query portion has been split off, we can go to it directly. Commit: 4df86d0704137041ddf52273cf749abc9ba4ad3b https://github.com/Perl/perl5/commit/4df86d0704137041ddf52273cf749abc9ba4ad3b Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Generalize certain Win32 calls The old versions were windows-specific; the changes use a more generic macro that currently expands to the same thing, but future commits will change that. Commit: 075271a974cb72a0b9d7fd7ec2307590c1857be0 https://github.com/Perl/perl5/commit/075271a974cb72a0b9d7fd7ec2307590c1857be0 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.: Create macros to call setlocale in special return contexts Future commits will benefit from knowing if the return value of setlocale is to be ignored, just checked for if it worked, or the full value is needed. Commit: b2093a0e0aaa51386e37ac8b6ebf55aa0f5f3d59 https://github.com/Perl/perl5/commit/b2093a0e0aaa51386e37ac8b6ebf55aa0f5f3d59 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M locale.c M proto.h Log Message: ----------- locale.c: Split a static function into two parts One part doesn't have to be compiled on platforms that don't have the libc function querylocale(). It makes it easier to grok when that part isn't inlined with the other part. But more importantly, the split off part will be called separately in future commits. Commit: ebbc394ca089fe6b5206aa7a19a04010efd2b98f https://github.com/Perl/perl5/commit/ebbc394ca089fe6b5206aa7a19a04010efd2b98f Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M locale.c M proto.h Log Message: ----------- locale.c: Use a function table to simplify code Some locale categories require extra steps when they are changed. This moves that logic to a table, which gets rid of some code Commit: 11bcf8e6a26448a11f2f0d174fc070a287c5d11e https://github.com/Perl/perl5/commit/11bcf8e6a26448a11f2f0d174fc070a287c5d11e Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Same code for all queries of current locale Previously querying LC_NUMERIC and LC_ALL were treated specially; other queries were lumped in with changes. Changing some categories involves a non-trivial amount of work. This commit avoids that by moving all queries to the same 'if' branch. LC_NUMERIC and LC_ALL still have to be treated specially, but now it's all within the same outer 'if'. Commit: d9417f340f67bb5f5cf6c5db5e7dc93daa35e36b https://github.com/Perl/perl5/commit/d9417f340f67bb5f5cf6c5db5e7dc93daa35e36b Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M intrpvar.h M locale.c M proto.h Log Message: ----------- 2008 Commit: 95cbda1758a4a8fc387d2e336b5fe1ac31184a85 https://github.com/Perl/perl5/commit/95cbda1758a4a8fc387d2e336b5fe1ac31184a85 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M lib/locale_threads.t M t/loc_tools.pl Log Message: ----------- SAFE_LOCALES Commit: 2f653b4398550ea50d820cbf82f6ebeddc9d2a46 https://github.com/Perl/perl5/commit/2f653b4398550ea50d820cbf82f6ebeddc9d2a46 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h Log Message: ----------- Use locale mutex for locking LC_NUMERIC changes Previously it had its own mutex. There are cases where having two mutexes doesn't work properly, though I can't remember what they are just now. But, future commits will most assuredly cause the things dependent on these mutexes to never be run at the same time. This commit also changes the locale mutex into a general sempahore instead of a binary one, so that it can be recursively locked without a problem. Commit: 6012d81b30f26f2c4b959febf1421e0c2ca73cc0 https://github.com/Perl/perl5/commit/6012d81b30f26f2c4b959febf1421e0c2ca73cc0 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embedvar.h M intrpvar.h M makedef.pl M perl.h M sv.c Log Message: ----------- Change internal PL_ variable name This is now used for the locale mutex, instead of the mutex the next commit will remove; change its name to correspond. Commit: b9cd84482ef404933324d91331cce2a8bfe86fa8 https://github.com/Perl/perl5/commit/b9cd84482ef404933324d91331cce2a8bfe86fa8 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h M perlvars.h Log Message: ----------- Remove no longer used mutex A previous commit removed all need for this. Commit: 126340bf29a2d7707fcdd6b4caeb0e7c39460491 https://github.com/Perl/perl5/commit/126340bf29a2d7707fcdd6b4caeb0e7c39460491 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M ebcdic_tables.h M embedvar.h M globvar.sym M inline.h M intrpvar.h M perl.h M regen/ebcdic.pl Log Message: ----------- XXX finish fold_locale tests, copy in thread create Commit: eb1118afc022b8322c3751d0a656538ca9070545 https://github.com/Perl/perl5/commit/eb1118afc022b8322c3751d0a656538ca9070545 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h Log Message: ----------- XXX inspect, trailing white: perl.h: refactor Commit: a58c090a5ae55f43a9a54b7dbf9dc6e06770bbd0 https://github.com/Perl/perl5/commit/a58c090a5ae55f43a9a54b7dbf9dc6e06770bbd0 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- XXX merge other commit: locale.c: Remove some errno saves These are no longer needed, as the debugging code now automatically preserves errno. Commit: 66d2cd2ead0f5c9681f6eb2b5ab98b11349e8d92 https://github.com/Perl/perl5/commit/66d2cd2ead0f5c9681f6eb2b5ab98b11349e8d92 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- Prevent rare locale race In reading code, I realized that it is possible for there to be a race here if two threads operating in a Posix 2008 locale system convert to the old-style locale system. That is unlikely, but it is easy to prevent any race through a mutex. They still would have problems if they do a tug-of-war on what the global locale should be. Commit: 438390fc1dbd66594b016de7608aeba3f4493b31 https://github.com/Perl/perl5/commit/438390fc1dbd66594b016de7608aeba3f4493b31 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- XXX commit message, assert(0);locale.c: Add code to do thread-safe emulation Commit: 8f77c4e6ab31df02d8fd87a646bc235369025216 https://github.com/Perl/perl5/commit/8f77c4e6ab31df02d8fd87a646bc235369025216 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Revise querying a locale Now that the LC_NUMERIC toggling is under the same mutex as the rest of locale handling, we can simplify things. Commit: 29331ff2d7b2edaf1ab3bb9974b4d1fa3ac6b2a1 https://github.com/Perl/perl5/commit/29331ff2d7b2edaf1ab3bb9974b4d1fa3ac6b2a1 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Skip changing the locale if same as the old Meet the new boss; same as the old boss. There is some housekeeping involved in changing locales, particularly in computing a new collation ordering. So, it's worth it to check if the new locale being requested is actually not different than the existing. If so, we can just return without doing anything Commit: ecc93bcc892fab1b6296f2028ff0d8e54ba85c08 https://github.com/Perl/perl5/commit/ecc93bcc892fab1b6296f2028ff0d8e54ba85c08 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- XXX loop index for consistency Commit: 74328b1f289c0d1828e7522677caa3e64d083dd0 https://github.com/Perl/perl5/commit/74328b1f289c0d1828e7522677caa3e64d083dd0 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- XXX Lv? locale.c: Add some debugging, Commit: 2922349c0dfc0ced2e092b611b1a5d6769421628 https://github.com/Perl/perl5/commit/2922349c0dfc0ced2e092b611b1a5d6769421628 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M handy.h M inline.h Log Message: ----------- Add thread-safe locale emulation for LC_CTYPE All character class checking and case conversions will now come through this inline function which will switch to the proper locale if Configured to do so. Commit: 1a6c4534034ecd850806d204e2de3accf1cba20b https://github.com/Perl/perl5/commit/1a6c4534034ecd850806d204e2de3accf1cba20b Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M inline.h Log Message: ----------- XXX temporary: Add some debugging code for locale emulation Commit: 44f66259205e2da478798bc61210736a69e598f4 https://github.com/Perl/perl5/commit/44f66259205e2da478798bc61210736a69e598f4 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M pp.c Log Message: ----------- XXX pp.c: do %g print under mutex, Commit: 023eba0ec29115fcf271b63fb0a26a00d81c2a8c https://github.com/Perl/perl5/commit/023eba0ec29115fcf271b63fb0a26a00d81c2a8c Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M intrpvar.h Log Message: ----------- intrpvar.h: Addd clarifying comment Commit: 0576688f37c706ebac5693d16b34a85fce82b683 https://github.com/Perl/perl5/commit/0576688f37c706ebac5693d16b34a85fce82b683 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- lc_messages bug Commit: 444f70d01c485c029fa6c1b61a4584c174b81962 https://github.com/Perl/perl5/commit/444f70d01c485c029fa6c1b61a4584c174b81962 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale init Commit: 89a1c774a6ca1a2ece25f58fd6c80514575774a2 https://github.com/Perl/perl5/commit/89a1c774a6ca1a2ece25f58fd6c80514575774a2 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Slight refactor of strftime loop It's easier to understand if we exit the loop right after the conditional that causes us to, rather than at the bottom of the loop. Commit: 8aa631661c6a6a7e99ba9fad75e515862a3a35c8 https://github.com/Perl/perl5/commit/8aa631661c6a6a7e99ba9fad75e515862a3a35c8 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Refactor strftime loop This removes the call of strftime from the loop conditional, in preparation for wrapping strftime() in a mutex. Commit: 42698860fbab7ef40025c47f1d91eb4f229d48d4 https://github.com/Perl/perl5/commit/42698860fbab7ef40025c47f1d91eb4f229d48d4 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: White-space comment only Adjust indentation from changes in previous two commits. Add a clarifying comment Commit: 0f085155970726a5f0b1bdf556ff366e72fd003a https://github.com/Perl/perl5/commit/0f085155970726a5f0b1bdf556ff366e72fd003a Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c M util.c Log Message: ----------- strftime() needs to be locked. On some systems, it just needs to not have the locale nor environment change while it is executing. A many-reader lock for each will work for those. The Posix standard, on the other hand, says (under the tzset entry) that strftime effective calls it, thus setting some globals, so it needs exclusive access for those. A Configure probe could be written to check for the behavior. Commit: 5d86cde3afa7b4389b623cb62ecfa0376787cf53 https://github.com/Perl/perl5/commit/5d86cde3afa7b4389b623cb62ecfa0376787cf53 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Don't need full LOCALECONV_LOCK Here, the items being returned are monetary, no need to toggle LC_NUMERIC, which is what a full LOCALCONV_LOCK would do. Commit: bcf010bdacb14140e0a8bd2eed087907e6d8175f https://github.com/Perl/perl5/commit/bcf010bdacb14140e0a8bd2eed087907e6d8175f Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M intrpvar.h M perl.h M sv.c Log Message: ----------- Turn on thread-safe emulation Commit: b87e13f91bc231560adbd3745006d8e2c9ad1519 https://github.com/Perl/perl5/commit/b87e13f91bc231560adbd3745006d8e2c9ad1519 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h M time64.c M util.c Log Message: ----------- Change name of mutex macros for ENV/LOCALE locking The names were somewhat confusing. Commit: 825b874b6a9297dc4912788fbf1ac05fb5038a9d https://github.com/Perl/perl5/commit/825b874b6a9297dc4912788fbf1ac05fb5038a9d Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M util.c Log Message: ----------- XXX util.c: LOCALTIME lock Commit: a1052440aaf07ca55d853056336b8f9adc543c27 https://github.com/Perl/perl5/commit/a1052440aaf07ca55d853056336b8f9adc543c27 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h Log Message: ----------- perl.h: Move some statements So they are closer to related statements Commit: 23f0c7ca92215a6eeb00ce881bb1625d98e9e8e9 https://github.com/Perl/perl5/commit/23f0c7ca92215a6eeb00ce881bb1625d98e9e8e9 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h Log Message: ----------- XXX finish msg Implement combo ENV/LOCALE mutexes There are cases where an executing function is vulnerable to either the locale or environment being changed by another thread. This implements macros that use mutexes to protect these critical sections. There are two cases that exist: one where the functions only read; and one where they can also need exclusive control so that a competing thread can't overwrite the returned static buffer before it is safely copied. 5.32 had a placeholder for these, but didn't actually implement it. Instead it locked just the ENV portion. On modern platforms with thread-safe locales, the locale portion is a no-op anyway, so things worked on them. This new commit extends that safety to other platforms. This has long been a vulnerability in Perl, but Commit: 373675d45169adf50057a0fb6b99e293464d0d5c https://github.com/Perl/perl5/commit/373675d45169adf50057a0fb6b99e293464d0d5c Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h Log Message: ----------- STRFTIME Commit: cb6513cd5701e854de5f7ec14eac74ec2e7dba6d https://github.com/Perl/perl5/commit/cb6513cd5701e854de5f7ec14eac74ec2e7dba6d Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M intrpvar.h M locale.c M perl.h Log Message: ----------- l Commit: 1eb79216b855eea2b4b1cab75a1ef571c746465a https://github.com/Perl/perl5/commit/1eb79216b855eea2b4b1cab75a1ef571c746465a Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- l Commit: ccf2ae0f99573e2c14ae5507d56a707167dbf67d https://github.com/Perl/perl5/commit/ccf2ae0f99573e2c14ae5507d56a707167dbf67d Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M perl.h Log Message: ----------- lock Commit: f6bab195c8d85066cc21f788f73e8880eaa64cb6 https://github.com/Perl/perl5/commit/f6bab195c8d85066cc21f788f73e8880eaa64cb6 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- dangerous Commit: f0d90f24d573195c543e1b0b1e3bdb32bb487bf6 https://github.com/Perl/perl5/commit/f0d90f24d573195c543e1b0b1e3bdb32bb487bf6 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- const Commit: d66c05a37a21ee15ce577a39695cde716bc19b2d https://github.com/Perl/perl5/commit/d66c05a37a21ee15ce577a39695cde716bc19b2d Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M ext/POSIX/POSIX.xs Log Message: ----------- posix Commit: c3a2e59fd72e0ca6f5895e9789dccaac539fe03a https://github.com/Perl/perl5/commit/c3a2e59fd72e0ca6f5895e9789dccaac539fe03a Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c M perl.h M sv.c M t/loc_tools.pl Log Message: ----------- l Commit: 0221342931f397b7ae3b6add7e246619b3311a21 https://github.com/Perl/perl5/commit/0221342931f397b7ae3b6add7e246619b3311a21 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M locale.c M proto.h M unixish.h Log Message: ----------- l Commit: 003d90893a131b8996348c73e44af94a47f4b441 https://github.com/Perl/perl5/commit/003d90893a131b8996348c73e44af94a47f4b441 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M os2/os2.c Log Message: ----------- os2: Use many reader lock instead of exclusive This is just reading the environment, not changing it, so a many readers can be accessing it at the same time. Commit: 95a140b58caf75e760dcd559fb25829cb9c22b1b https://github.com/Perl/perl5/commit/95a140b58caf75e760dcd559fb25829cb9c22b1b Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- XXX prob drop; done before anything so no races Commit: 01d62da6c7fc6374328324bb7a1769421b975c6e https://github.com/Perl/perl5/commit/01d62da6c7fc6374328324bb7a1769421b975c6e Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M reentr.h M regen/reentr.pl Log Message: ----------- XXX comments, move in rebase reentr Commit: 7e063979af65391f564067c3a940484d62be49e3 https://github.com/Perl/perl5/commit/7e063979af65391f564067c3a940484d62be49e3 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M ext/POSIX/POSIX.xs Log Message: ----------- POSIX.xs: Add locks around certain operations These operations may have races without these newly created locks. Commit: 8938a05df5f4db07e1c66f41d559784ef2589bce https://github.com/Perl/perl5/commit/8938a05df5f4db07e1c66f41d559784ef2589bce Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M time64.c Log Message: ----------- time64.c: Remove no longer needed code This code defined some macros; those are now defined by perl.h Commit: ae659cfe912d78a926083fddb23e29e3cf343761 https://github.com/Perl/perl5/commit/ae659cfe912d78a926083fddb23e29e3cf343761 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M win32/win32.c Log Message: ----------- win32.c: Add mutexes around some calls These could have races. Commit: a0726a347bf84c3f33c273946befbdc824c06f8f https://github.com/Perl/perl5/commit/a0726a347bf84c3f33c273946befbdc824c06f8f Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M pp_sys.c Log Message: ----------- XXX need to StructCopy pp_sys mutexes Commit: 1c0abdae266db1794b7ea42b5db856126a0e20b9 https://github.com/Perl/perl5/commit/1c0abdae266db1794b7ea42b5db856126a0e20b9 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M util.c Log Message: ----------- mktime needs to run under a mutex per the Posix standard Commit: 6f51411c5ebc47e7a37be7500cbdc7ccdf332bc1 https://github.com/Perl/perl5/commit/6f51411c5ebc47e7a37be7500cbdc7ccdf332bc1 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M cpan/Time-Piece/Piece.pm M cpan/Time-Piece/Piece.xs Log Message: ----------- XXX cpan PR Time-Piece Commit: d9656f5a3651298ca401c719c3dfb0fa30dda8e0 https://github.com/Perl/perl5/commit/d9656f5a3651298ca401c719c3dfb0fa30dda8e0 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M dist/ExtUtils-ParseXS/lib/perlxs.pod Log Message: ----------- XXX perlxs Commit: 067d727d629c2aaccba87e874de899da911b2b3e https://github.com/Perl/perl5/commit/067d727d629c2aaccba87e874de899da911b2b3e Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M cpan/Time-Piece/Piece.xs Log Message: ----------- cpan/Time-Piece/Piece.xs: Use foldEQ_locale() if available Using this is preferable to the glibc function due to it being tailored for Perl, and is thread-safe in the latest versions. Commit: aa39587246cf49fc70da1ca658b93513dd41f618 https://github.com/Perl/perl5/commit/aa39587246cf49fc70da1ca658b93513dd41f618 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M cpan/Time-Piece/Piece.xs Log Message: ----------- Time-Piece/Piece.xs: Use isDIGIT, not isdigit isDIGIT is not locale-dependent, matching just [0-9]. There was a bug using isdigit() in at least one place where it calculated the value of the digit by subtracting the original of '0' from it. This works only if the digit is in [0-9], but there are locales where there is another set of digits, and so would give a very wrong result. That makes it clear to me that only [0-9] were assumed by the original authors. Commit: 810a5c25d9e35b7294e77ac85846a8107e67e817 https://github.com/Perl/perl5/commit/810a5c25d9e35b7294e77ac85846a8107e67e817 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M cpan/Time-Piece/Piece.xs Log Message: ----------- XXX Time-Piece/Piece.xs: Use isSPACE not isspace Same msg as prev commit Commit: 49bce26f7009da9299cfe12e6a41661eec3749be https://github.com/Perl/perl5/commit/49bce26f7009da9299cfe12e6a41661eec3749be Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M cpan/Time-Piece/Piece.xs Log Message: ----------- XXX Time-Piece/Piece.xs: Use isUPPER not isupper Same msg as prev commit Commit: a7850e1df4ac2b6420ce0f3ea9963159a1bf40f3 https://github.com/Perl/perl5/commit/a7850e1df4ac2b6420ce0f3ea9963159a1bf40f3 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M cpan/Time-Piece/Piece.xs Log Message: ----------- XXX Time Piece temporary Commit: 930a316561809ec83cae8fcda8e9332f334605fc https://github.com/Perl/perl5/commit/930a316561809ec83cae8fcda8e9332f334605fc Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M pod/perlhacktips.pod Log Message: ----------- XXX incomplete perlhacktips: Commit: 6339419fc3a35be18fe92830d5e765f659e4b323 https://github.com/Perl/perl5/commit/6339419fc3a35be18fe92830d5e765f659e4b323 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M dist/IO/IO.xs Log Message: ----------- XXX check if using ppport IO.xs: Remove fallback code furnished by ppport Commit: 4b32b8f7b52f7623a958707005423dd998976279 https://github.com/Perl/perl5/commit/4b32b8f7b52f7623a958707005423dd998976279 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M hints/freebsd.sh Log Message: ----------- XXX check with freebsd: hints/freebsd.sh Commit: 0b5d35e218ae367ac2ff1d3c8a769c5238b62063 https://github.com/Perl/perl5/commit/0b5d35e218ae367ac2ff1d3c8a769c5238b62063 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M dosish.h M unixish.h Log Message: ----------- Move IO destruction to end of list During destruction, a list is executed in order. Here's a couple of them: OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; If something goes wrong, and the I/O system has already been destructed, it's hard to figure out what's going on. This is solved simply by moving the I/O termination to the end of the list. Commit: 0718e176032c313bcf6463f0180755c7eab7a48f https://github.com/Perl/perl5/commit/0718e176032c313bcf6463f0180755c7eab7a48f Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M iperlsys.h Log Message: ----------- iperlsys.h: Clarify comment Commit: 5095c53ef19ef3794bb75ddfa4440ce210e24431 https://github.com/Perl/perl5/commit/5095c53ef19ef3794bb75ddfa4440ce210e24431 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M reentr.h M regen/reentr.pl Log Message: ----------- Revert "reentr doing locks" This reverts commit db16fd717a1c82eac14855982c1967e79d73b719. Commit: b2551be991d73c244f13afe8b147381292b5213d https://github.com/Perl/perl5/commit/b2551be991d73c244f13afe8b147381292b5213d Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M cpan/Time-Piece/Piece.xs M embed.fnc M embed.h M ext/POSIX/POSIX.xs M inline.h M iperlsys.h M lib/locale_threads.t M locale.c M perl.h M proto.h M regen/reentr.pl M sv.c M t/porting/known_pod_issues.dat M thread.h M util.c Log Message: ----------- f Commit: 07b3a8c85db0e7c721c66616a722fad98e970749 https://github.com/Perl/perl5/commit/07b3a8c85db0e7c721c66616a722fad98e970749 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M ext/POSIX/POSIX.xs M handy.h M lib/locale_threads.t M locale.c M pod/perllocale.pod M t/loc_tools.pl Log Message: ----------- l Commit: af9c1a5c792c9db36c52644a5b038c40e25808a8 https://github.com/Perl/perl5/commit/af9c1a5c792c9db36c52644a5b038c40e25808a8 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M ext/POSIX/POSIX.xs Log Message: ----------- localeconv Commit: a1236dff39aab7c643f5729ac2734dac392edae5 https://github.com/Perl/perl5/commit/a1236dff39aab7c643f5729ac2734dac392edae5 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M dosish.h M unixish.h Log Message: ----------- Revert "Move IO destruction to end of list" This reverts commit 6b0026ff2baeee76dd03ea8ee5fd85a7c9c7d5df. Commit: 9b302ba24de304d8923d8581aaa54ca7005342dd https://github.com/Perl/perl5/commit/9b302ba24de304d8923d8581aaa54ca7005342dd Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M cygwin/cygwin.c M dist/ExtUtils-ParseXS/lib/perlxs.pod M dosish.h M embed.fnc M embed.h M ext/I18N-Langinfo/Langinfo.pm M ext/I18N-Langinfo/Langinfo.xs M ext/POSIX/POSIX.xs M handy.h M inline.h M lib/locale_threads.t M locale.c M perl.h M pod/perllocale.pod M proto.h M regexec.c M sv.c M t/loc_tools.pl M t/re/charset.t M unixish.h M util.c M win32/win32.c Log Message: ----------- ready to smoke Commit: b0d6b2eb46298a6943554ec33a715b7b3f2d936a https://github.com/Perl/perl5/commit/b0d6b2eb46298a6943554ec33a715b7b3f2d936a Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c M perl.c M perl.h M thread.h Log Message: ----------- hp31 Commit: c3edd7a2d6597b34d39fa65f461eb75868ee501b https://github.com/Perl/perl5/commit/c3edd7a2d6597b34d39fa65f461eb75868ee501b Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M ext/POSIX/POSIX.xs M intrpvar.h M locale.c M makedef.pl M perl.h M proto.h Log Message: ----------- f Commit: 3e0e2a553386c3f2a5f51217cf11979167d94c69 https://github.com/Perl/perl5/commit/3e0e2a553386c3f2a5f51217cf11979167d94c69 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M embed.h M ext/POSIX/POSIX.xs M inline.h M lib/locale_threads.t M locale.c M pp_sys.c M proto.h M t/loc_tools.pl M thread.h Log Message: ----------- f Commit: 2086bc1014ead3400d09057c4cfb6b1f5d486870 https://github.com/Perl/perl5/commit/2086bc1014ead3400d09057c4cfb6b1f5d486870 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Remove duplicate code This code was essentially a reimplementation of my_strftime(). I suddenly realized a way to avoid having to reimplement it, simply by choosing a year in which January 1 falls on a Sunday. The indentaion was changed to be consistent with future commits. Commit: bbfb21d8bb451fb92d6e760c391580bc83e9bfc8 https://github.com/Perl/perl5/commit/bbfb21d8bb451fb92d6e760c391580bc83e9bfc8 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Return C values if strftime() disabled This is the first commit in a series that will generally return something from Perl_langinfo() when parts of the locale handling system are not enabled. This commit causes the C locale values to be returned if strftime is not available. Commit: 1b528ecd344c6cd26f0f12545cf1fabb6ee98ec4 https://github.com/Perl/perl5/commit/1b528ecd344c6cd26f0f12545cf1fabb6ee98ec4 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M ext/POSIX/POSIX.xs Log Message: ----------- POSIX.xs: Use macro to reduce complexity This #defines a macro and uses it to populate a structure, so that strings don't have to be typed twice. Commit: d0c79dd3c5de371b3f6e5e0c878bb49c51e2b384 https://github.com/Perl/perl5/commit/d0c79dd3c5de371b3f6e5e0c878bb49c51e2b384 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M ext/POSIX/POSIX.xs Log Message: ----------- POSIX.xs: White-space only Properly indent some nested preprocessor directives Commit: 447221942fea62722d212391acc9796027c7676c https://github.com/Perl/perl5/commit/447221942fea62722d212391acc9796027c7676c Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M ext/POSIX/POSIX.xs Log Message: ----------- POSIX.xs: Remove excess conditional This conditional is just extra execution time on platforms where the underlying field doesn't exist. Don't compile it on such platforms. Commit: ccbdbe9917aa06b895ecfb23ea9df6f31e669b68 https://github.com/Perl/perl5/commit/ccbdbe9917aa06b895ecfb23ea9df6f31e669b68 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- locale.c: Refactor #ifdef's for clarity The my_strerror() function has effectively 5 different implementations depending on the capabilities of the platform. Only a few lines are common to all, the set-up and the return. The #ifdefs obscure the underlying logic. So this commit separates them out into 5 different functions, with the result that it's clear what is going on in each. Commit: 47e5d75ebd810353b15d19a0fb65a25e56b3c3be https://github.com/Perl/perl5/commit/47e5d75ebd810353b15d19a0fb65a25e56b3c3be Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M dist/IO/IO.pm M embed.fnc M embed.h M embedvar.h M ext/I18N-Langinfo/Langinfo.xs M ext/POSIX/POSIX.xs M ext/POSIX/lib/POSIX.pm M ext/POSIX/lib/POSIX.pod M ext/POSIX/t/mb.t M inline.h M intrpvar.h M lib/locale_threads.t M locale.c M makedef.pl M mg.c M perl.c M perl.h M proto.h M regexec.c M sv.c M t/loc_tools.pl M thread.h M util.c Log Message: ----------- f Commit: 50fb10b5c89e5d4754d08ed1d0a9940d6c9759f0 https://github.com/Perl/perl5/commit/50fb10b5c89e5d4754d08ed1d0a9940d6c9759f0 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M embed.fnc M ext/I18N-Langinfo/Langinfo.pm M lib/locale_threads.t M locale.c M mg.c M perl.h M proto.h M t/harness Log Message: ----------- f Commit: 55731b9032edae1f468ba722b3fa989b9e0a5ad6 https://github.com/Perl/perl5/commit/55731b9032edae1f468ba722b3fa989b9e0a5ad6 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M lib/locale_threads.t M locale.c M perl.h Log Message: ----------- f Commit: d2e439b5cdc89bd99b5058ab31704e2a3cfd2426 https://github.com/Perl/perl5/commit/d2e439b5cdc89bd99b5058ab31704e2a3cfd2426 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c M makedef.pl Log Message: ----------- l Commit: dec17d6610080d9c9360b70924b42d5b5443f8db https://github.com/Perl/perl5/commit/dec17d6610080d9c9360b70924b42d5b5443f8db Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M locale.c Log Message: ----------- f Commit: 29df5236a786b618f39cede1390d4de269b7878d https://github.com/Perl/perl5/commit/29df5236a786b618f39cede1390d4de269b7878d Author: Karl Williamson <k...@cpan.org> Date: 2021-02-02 (Tue, 02 Feb 2021) Changed paths: M handy.h Log Message: ----------- handy.h: Add clarifying comment Commit: 39fa98f558ee048c6583b6aba7f7c0198cb085db https://github.com/Perl/perl5/commit/39fa98f558ee048c6583b6aba7f7c0198cb085db Author: Karl Williamson <k...@cpan.org> Date: 2021-02-03 (Wed, 03 Feb 2021) Changed paths: M embed.fnc M embed.h M ext/POSIX/POSIX.xs M lib/locale_threads.t M locale.c M mg.c M perl.h M proto.h Log Message: ----------- f Commit: 15f9fbd446c28c9345aaa48c22da4c77d19cb602 https://github.com/Perl/perl5/commit/15f9fbd446c28c9345aaa48c22da4c77d19cb602 Author: Karl Williamson <k...@cpan.org> Date: 2021-02-04 (Thu, 04 Feb 2021) Changed paths: M perl.h Log Message: ----------- f Compare: https://github.com/Perl/perl5/compare/d75b97184548...15f9fbd446c2