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

Reply via email to