Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: b269edc857b8bcf53ac3451c35113ad996cadb62 https://github.com/Perl/perl5/commit/b269edc857b8bcf53ac3451c35113ad996cadb62 Author: Karl Williamson <k...@cpan.org> Date: 2022-08-31 (Wed, 31 Aug 2022)
Changed paths: M embedvar.h M intrpvar.h M locale.c M makedef.pl M perl.c M sv.c Log Message: ----------- locale.c: Cache the current LC_CTYPE locale name This is now used as a cache of length 1 to avoid having to lookup up the UTF-8ness as often. This commit also skips doing S_newctype() if the new boss is the same as the old Commit: 9dd831d803753f72306bb65bd97fc2921950dd48 https://github.com/Perl/perl5/commit/9dd831d803753f72306bb65bd97fc2921950dd48 Author: Karl Williamson <k...@cpan.org> Date: 2022-08-31 (Wed, 31 Aug 2022) Changed paths: M locale.c Log Message: ----------- locale.c: Use standard fold table for C locale Copy the standard compiled-in ASCII fold table when the locale is C or POSIX, instead of looping through all 256 characters and computing them. This saves some time as well as ensures that any platform bugs become irrelevant. Commit: 667fa5f07f977e11018489f79c0e6531c9f79a72 https://github.com/Perl/perl5/commit/667fa5f07f977e11018489f79c0e6531c9f79a72 Author: Karl Williamson <k...@cpan.org> Date: 2022-08-31 (Wed, 31 Aug 2022) Changed paths: M locale.c M pod/perldelta.pod M pod/perldiag.pod Log Message: ----------- Add locale unsupported test Perl only suppots multi-byte locales that are UTF-8. It turns out that the others are worse than I thought, and if someone switches to one, the program can crash. This commit generates a default-on diagnostic when switching into such a locale. The check has been done in various releases for some time, but this elevates its severity. Commit 74ecb5a150c08c23c0219dcaf8c55af7ba696bd5 caused the test suite to view a locale that generates this message as unacceptable. The commit message for that commit said the next commit would be the one generating the diagnostic. Due to rebasing changes, that didn't happen until this current commit. Commit: 9200ac36927058c8b259a5658983ac5b61ef5e43 https://github.com/Perl/perl5/commit/9200ac36927058c8b259a5658983ac5b61ef5e43 Author: Karl Williamson <k...@cpan.org> Date: 2022-08-31 (Wed, 31 Aug 2022) Changed paths: M locale.c Log Message: ----------- locale.c: Add fold calc debug statements Under verbose debugging, this shows non-standard folds Commit: 45488af500bfccfc3d16e5767274bb885c901d95 https://github.com/Perl/perl5/commit/45488af500bfccfc3d16e5767274bb885c901d95 Author: Karl Williamson <k...@cpan.org> Date: 2022-08-31 (Wed, 31 Aug 2022) Changed paths: M inline.h Log Message: ----------- inline.h: Add fold failure debug statements Under verbose debugging, this shows cases where folds didn't match. Commit: e4bbbfe02b9e9aae521b164eba0e518ca478945f https://github.com/Perl/perl5/commit/e4bbbfe02b9e9aae521b164eba0e518ca478945f Author: Karl Williamson <k...@cpan.org> Date: 2022-08-31 (Wed, 31 Aug 2022) Changed paths: M embedvar.h M inline.h M intrpvar.h M locale.c M makedef.pl M perl.c M pod/perldelta.pod M pod/perldiag.pod M sv.c Log Message: ----------- Merge branch 'Improve switching to a new LC_CTYPE locale' into blead This series of commits caches the LC_CTYPE value so it doesn't need to be recalculated And uses our built-in fold tables for the C and UTF-8 locales. This saves work and avoids bugs in vendors' locale definitions A new diagnostic is raised when someone switches to, say an ISO 2022, multibyte locale that is not UTF-8. These are unsupported, and can crash the interpreter. The message is thus marked as S And new verbose debugging info is added. Compare: https://github.com/Perl/perl5/compare/112f4f94ee04...e4bbbfe02b9e